Společnosti Google a CWI zkompromitovaly hashovací funkci SHA-1

6. 3. 2017 v sekci Článek

Hashovací algoritmus SHA-1, se kterým přišlo NSA v roce 1995, se stále těší poměrně velké oblibě, a to i navzdory tomu, že jej už více než dekádu odborníci označují za nedostatečný. SHA-1 byl původně uveden jako nástupce algoritmů MD4 a MD5.

SHA-1 převádí všechny vstupní informace na dlouhý řetězec čísel a písmen, který slouží jako kryptografický otisk konkrétní informace (dokumentu). Tato funkce se používá hlavně k ověřování původnosti dat. Běžně se hashovací funkce používají k zakódování hesel v databázi, ale jsou také součástí internetových certifikátů, ověřujících identitu webů, elektronických podpisů a podobně.

Nyní se Googlu a CWI v rámci společného výzkumu podařilo dokázat, že má SHA-1 své nejlepší dny dávno za sebou, respektive, že lze „vytvořit“ stejný hash (otisk) u dvou úplně odlišných informací (dokumentů) čili došlo k takzvané kolizi. Stačilo k tomu dostatečně silné výpočetní zázemí (tedy přesněji 110 GPU), ve kterém za rok proběhlo 9 223 372 036 854 775 808 výpočetních operací. Více si můžete přečíst na blogu Googlu.

Jak by se to dalo zneužít? Případní útočníci mohou díky tomu podstrčit legitimně tvářící se dokument těm, kteří šifrování SHA-1 využívají. Zjednodušeně se dá říct, že k prolomení (nejen) SHA-1 stačí jen dostatečný výpočetní výkon (v domácích podmínkách ale zatím nemožný).

Jako náhrada za SHA-1 může sloužit SHA-256 či SHA-3. K dispozici je také web shattered.it, kde lze otestovat, zda není dokument s SHA-1 hashem podvržený.