SHA-2: (ne)bezpečný straSHAk
11.11.2010
Použitelnost hashovacích funkcí SHA (Secure Hash Algorithm) je v současné době předmětem diskuzí nejen mezi odborníky na bezpečnost. Podstatou tohoto článku je přiblížit uživatelům související legislativní změny, které se postupně promítají do praxe. O co tedy jde? Běžně používaný hashovací algoritmus SHA1 byl shledán jako prolomitelný a v důsledku toho bezpečnostní orgány vyspělých zemí ve spolupráci s předními kryptology začaly hledat nástupce tohoto algoritmu a výsledku tohoto hledání se musí přizpůsobit výrobci softwaru i veřejnost.
Algoritmy skupiny SHA-2 (SHA224, SHA256, SHA384 a SHA512) jsou považovány za logické (i když asi jen dočasné) nástupce algoritmu SHA-1. Délka výstupu funkce je oproti 160-ti bitům SHA-1 delší (224, 256, 384 nebo 512 bitů), takže se zvýší teoretická odolnost proti útokům na nalezení kolize nebo vzoru. Životnost algoritmů SHA-2 se i přesto odhaduje pouze cca do roku 2015. V současné době je vypsáno americkým NISTem veřejné výběrové řízení na algoritmus „SHA-3“, který by měl nejen dostatečně odolávat pokusům o nalezení kolizí, ale také být co nejméně náročný na výpočetní výkon. Vyhlášení výsledků soutěže se očekává někdy v průběhu roku 2012. Do té doby již může být SHA-1 zneužitelný. Výrobci aplikací i čipových karet či tokenů tedy čelí strategickým rozhodnutím, zda zavádět podporu algoritmů SHA-2 nebo počkat na „SHA-3“. Vzhledem k faktu, že se v současné době neobjevily hashovací funkce, které by byly lépe technicky i normativně připravené pro praktické použití, půjde se u nejpoužívanějších aplikací cestou SHA-2.
V USA, Německu a dalších zemích vládní agentury doporučují vývojářům aplikací co nejdříve přejít na SHA-2 a uživatelům omezit používání SHA-1 (zejména pro účely digitálního podpisu (DP) a časových razítek). Rok 2010 je svým způsobem přelomový. NIST ve svém doporučení SP 800-107 uvádí, že po roce 2010 nesmí být federálními orgány používán SHA-1 pro účely DP (v soukromém sektoru je přechod dobrovolný). Německá Bundesnetzagentur označila používání SHA-1 pro DP jako nevhodné už během roku 2008, přičemž přechodné období pro poskytovatele certifikačních služeb je do konce 2010. V České republice platí vyhláška Ministerstva vnitra, která od 1.1.2010 ukládá všem certifikačním autoritám povinnost vydávat také certifikáty s podporou algoritmu SHA-2. O používání SHA-2 při autentizaci nebo podepisování se nemluví.
Jaké budou praktické důsledky zavedení SHA-2? Všechny tři v ČR akreditované certifikační autority přistoupily ke změně odpovědně a nabízejí (některé pouze) SHA-2 certifikáty. Pokud generujete žádost o nový certifikát nebo jej obnovujete do systémového úložiště, stačí vám pouze OS, který SHA-2 podporuje (Windows XP SP3 a výše, SUSE Linux Enterprise Desktop 10, RedHat EL 5, atd.). Jestliže používáte certifikát (jeho privátní klíč) k digitálnímu podpisu, zjistěte si podporu SHA-2 ve vaší aplikaci (Adobe Acrobat, Mozzila Thunderbird, MS Outlook, …). Pokud aplikace podepisování hashe SHA-2 nepodporuje, pravděpodobně vytvoří a podepíše automaticky hash SHA-1 (ano, toto je možné i s „SHA-2“ certifikátem).
Generujete-li žádost o SHA-2 certifikát do tokenu nebo čipové karty, je potřeba nejen podpora OS a dalších aplikací, ale i samotného hardwarového zařízení popř. jeho middlewaru. Nejde však jen o generování klíčů, ale i o jejich používání v aplikacích např. k podepisování. Zde závisí na konkrétním tokenu či kartě, jestli půjde využít s SHA-2 v dané aplikaci. Pokud toto z nějakých důvodů není možné, použije se nejspíše opět SHA-1. Když už se povede podepsat SHA-2 hash dokumentu či e-mailu, mohou zase nastat „kuriózní“ situace, kdy si příjemce podepsanou zprávu nepřečte jednoduše proto, že jeho OS či aplikace nepodporuje nový hashovací algoritmus.
Je určitě správné, že akreditované certifikační autority již vydávají SHA-2 certifikáty, které jsou odolnější proti zneužití a připravené pro bezpečnější komunikaci. Z výše uvedeného je však patrné, že vzhledem k problematické podpoře SHA-2 u starších aplikací, OS a hardwarových úložišť se bude skutečné nasazení algoritmů SHA-2 zejména při podepisování dokumentů oddalovat. Můžeme nyní fandit především vývojářům aplikací a návrhářům hardwarových úložišť, aby byl přechod na bezpečnější hashovací algoritmy co nejméně bolestivý.
Reference:
NIST Special Publication 800-107: Recommendation for Applications Using Approved Hash Algorithms, February 2009
V. Kment: Soumrak SHA-1, ohrožení elektronických podpisů i rozpočtů IT, článek na www.lupa.cz, 14. 9. 2009
Autor: Vladimír Kvíz | Sekce: Články | Tisk | Poslat článek známému