PKI – přecházíme na SHA-2

Celková bezpečnost, kterou PKI IT systémům může poskytovat, je primárně závislá na schopnosti zabezpečit privátní klíč a na síle použité kryptografie. Moderní kryptografie je založena na matematických problémech, které s dnešní úrovní znalosti nejsme schopni algoritmicky řešit nebo alespoň ne v představitelném čase. Běžně používané kryptografické algoritmy jsou navíc veřejně známy a jsou obvykle důkladně prověřeny.

Přesto nám čas od času pokroky kryptoanalýzy (věda zabývající se metodami získávání obsahu šifrovaných informací bez přístupu k tajným informacím jako je např. privátní klíč) zamíchají našimi kryptografickými kartami.

Roste výpočetní kapacita, v dnešním propojeném světě je navíc snadné výpočetní kapacitu sdružovat, jindy dojde k posunu v kryptoanalýze, která najde způsob jak daný algoritmus prolomit nebo jak snížit náročnost prolomení na hodnoty, které jsou prakticky uskutečnitelné. Jednoduše to, co je bezpečné dnes, zítra už být nemusí. A jak jsme si vysvětlili hned v úvodu, se slabou kryptografií není možné prohlašovat danou konkrétní aplikaci PKI za bezpečnou.

1 - bezpecnost PKI

Obrázek 1 Závislost bezpečnosti PKI na kryptografii

Hashovací funkce

Kromě všeobecně známého symetrického a asymetrického šifrování, v PKI spoléháme zásadním způsobem i na tzv. hashovací funkce. Hashovací funkce je matematická funkce, která slouží pro převod vstupních dat na výstup fixní délky – hash, nazývaný také jako digitální otisk. Kvalitní hashovací funkce musí mít 2 základní vlastnosti:

S hashovacími funkcemi se setkáváme ve většině praktických použití PKI např. jsou součástí zabezpečení každého digitálně podepsaného e-mailu či dokumentu. A hashe jsou použity i v samotných digitálních certifikátech, neboť každý certifikát je digitálně podepsán certifikační autoritou, která ho vydala.

Problém s SHA-1

Zdaleka nejpoužívanější hashovací funkcí dnešní doby je algoritmus SHA-1. Již delší dobu se vědělo, že návrh algoritmu není ideální a v budoucnu může dojít k jeho prolomení, a proto existuje již od roku 2001 náhradní a bezpečnější nástupce SHA-2 a od roku 2012 máme v záloze dokonce i SHA-3.

Nicméně z celé řady důvodů je realita taková, že např. 82,1% webových serverů, které používají SSL/TLS, má certifikát podepsaný stále ještě s pomocí SHA-1.

2 - SHA256  a webové servery

Obrázek 2 Aktuální stav využití SHA-1 v certifikátech webových serverů

Bohužel došlo k posunu v kryptoanalýze SHA-1 a dnes již víme, že zhruba s následujícími náklady je možné SHA-1 prolomit.

Náklady v čase rychle klesají a předpokládá se, že již během roku 2018 bude slabá bezpečnost SHA-1 aktivně využívána organizovaným zločinem. Navíc reálně hrozí, že další posun v kryptoanalýze útok ještě více usnadní a použití v praxi významně urychlí. Proto je nejvyšší čas plánovat opuštění SHA-1 a přechod na SHA-2 (podle délky výstupního hashu rozeznáváme SHA-256, SHA-512 atp.).

Svět IT opouští SHA-1

Protože problém je to opravdu závažný, Microsoft i další významné společnosti globálního IT představily již své plány na ukončení podpory SHA-1 ve svých systémech.

Microsoft

Google

Chrome 40 (listopad 2014)

Chrome 41 (1Q 2015)

3 - Chrome a SHA1Obrázek 3 Google Chrome - výstraha u SHA-1 certifikátu

Mozilla

Řešení – komerční CA

V podstatě všechny certifikační autority v dnešní době umožňují vystavit SSL digitální certifikáty s SHA-1 i SHA-256, ale SHA-256 je obvykle výchozí volba. Od 1. 1. 2016 obecně důveryhodné certifikační autority definitivně přestanou vydávat SSL certifikáty s SHA-1. Nově vystavené certifikáty tím pádem již automaticky budou používat dostatečnou kryptografii. U těch, které máme již historicky vystavené a neblíží se jejich expirace, bychom i tak měli naplánovat jejich výměnu za SHA-256 certifikáty.

Řešení – interní Microsoft CA

Pokud provozujete interní certifikační autoritu, s vysokou pravděpodobností používá v tuto chvíli výchozí hashovací algoritmus SHA-1. Pro přechod naštěstí není nutné začít budovat nové PKI, ale existuje podporovaný a poměrně snadný postup jak přejít z SHA-1 na SHA-2.

Tento postup má jen 2 kroky:

Od této chvíle nově vystavené certifikáty touto autoritou budou podepsány pomocí SHA-256.

4 - upgrade
Obrázek 4 Konfigurace CSP pro použití SHA-256

5 - CA before a after
Obrázek 5 Stav před a po změně na SHA256

Důležitá upozornění z praxe:

SHA-256 a kompatibilita

Při výměně certifikátů za jejich SHA-256 verze je ale potřeba velmi pečlivě plánovat a testovat, neboť ne všechny systémy podporují tento modernější hashovací algoritmus a neuvážená výměna může způsobit nedostupnost služby. Například pří výměně SSL certifikátu na Exchange Serveru je třeba dát pozor na množinu připojených mobilních zařízení pomocí protokolu ActiveSync. Pokud organizace používá třeba zařízení s Windows Mobile 5.0 musí před výměnou certifikátu naplánovat přechod na novější mobilní platformu Windows Phone 7+, neboť Windows Mobile 5.0 nepodporuje SHA-256 SSL certifikáty.

Níže je uveden seznam často používaných operačních systémů a prohlížečů, které podporou SHA-256 SSL certifikátů disponují.

Operační systémy

Prohlížeče

Závěr

Postupné ukončování podpory SHA-1 je z bezpečnostního pohledu jediná správná cesta a nám nezbývá než procesem výměny certifikátů včetně změn v interních PKI projít. Cílem tohoto článku bylo vysvětlit celou problematiku v kontextu PKI a poukázat na možná problematická místa spojená s přechodem na SHA-256.