Výzkumníci z francouzského státního institutu pro výzkum informatiky a automatizace (INRIA) a Nanyangské technologické univerzity (Singapur) představili metodu útoku (), která je prezentována jako první praktická implementace útoku na algoritmus SHA-1, což lze využít k vytváření falešných digitálních podpisů PGP a GnuPG. Výzkumníci se domnívají, že nyní lze všechny praktické útoky na MD5 využít i na SHA-1, i když zatím stále vyžadují značné zdroje k provedení.
Metoda je založena na provádění , který umožňuje pro dvě libovolné datové sady nalézt doplňky, při jejichž připojení vzniknou kolizní sady, přičemž použití algoritmu SHA-1 povede k vytvoření stejného výsledného hash. Jinými slovy, pro dva existující dokumenty lze vypočítat dvě doplňky, a pokud jeden připojíte k prvnímu dokumentu a druhý k druhému — výsledné SHA-1 hashe těchto souborů budou shodné.
Nová metoda se od dříve navrhovaných podobných technik liší zvýšením efektivity hledání kolizí a demonstruje praktickou aplikaci pro útok na PGP. Konkrétně se výzkumníkům podařilo připravit dva otevřené PGP klíče různých velikostí (RSA-8192 a RSA-6144) s odlišnými identifikátory uživatele a s certifikáty, které vyvolávají kolize SHA-1. obsahoval identifikátor oběti, zatímco obsahoval jméno a obrázek útočníka. Díky nalezení kolize měl identifikační certifikát, který zahrnoval klíč a obrázek útočníka, stejný SHA-1 hash jako identifikační certifikát, který zahrnoval klíč a jméno oběti.
Útočník mohl požádat o digitální podpis pro svůj klíč a obrázek ve třetím certifikačním centru, poté přenést digitální podpis pro klíč oběti. Digitální podpis zůstává platný díky kolizi a ověření klíče útočníka certifikačním centrem, což útočníkovi umožňuje získat kontrolu i nad klíčem s jménem oběti (protože SHA-1 hash pro oba klíče se shoduje). Nakonec se útočník může vydávat za oběť a podepsat jakýkoli dokument jejím jménom.
Útok zatím zůstává dost nákladný, ale již je zcela v možnostech bezpečnostních služeb a velkých korporací. Pro jednoduché generování kolizí s použitím levnějšího GPU NVIDIA GTX 970 byly náklady 11 tisíc dolarů, a pro generování kolizí se zadaným prefixem – 45 tisíc dolarů (pro srovnání, v roce 2012 byly náklady na generování kolizí v SHA-1 odhadovány na 2 miliony dolarů, a v roce 2015 – 700 tisíc). Pro provedení praktického útoku na PGP bylo zapotřebí dva měsíce výpočtů s nasazením 900 GPU NVIDIA GTX 1060, jejichž pronájem vyšel výzkumníky na 75 tisíc dolarů.
Navržená metoda detekce kolizí byla přibližně 10krát účinnější než předchozí úspěchy – úroveň složitosti výpočtu kolize byla snížena na 261,2 operací, místo 264,7, a kolize se zadaným prefixem na 263,4 operací místo 267,1. Výzkumníci doporučují co nejdříve přejít z SHA-1 na použití SHA-256 nebo SHA-3, jelikož podle jejich předpovědí v roce 2025 náklady na provedení útoku klesnou na 10 tisíc dolarů.
Vývojáři GnuPG byli o problému informováni 1. října (CVE-2019-14855) a 25. listopadu v vydání GnuPG 2.2.18 přijali opatření k blokování problematických certifikátů – všechny digitální identifikační podpisy SHA-1 vytvořené po 19. lednu loňského roku jsou nyní uznávány jako neplatné. V CAcert, jednom z hlavních certifikačních úřadů pro PGP klíče, plánují přejít na používání bezpečnějších hashovacích funkcí pro certifikaci klíčů. Vývojáři OpenSSL v reakci na informace o nové metodě útoku rozhodli o deaktivaci SHA-1 na navrhované výchozí první úrovni zabezpečení (SHA-1 nebude možné použít pro certifikáty a digitální podpisy během vyjednávání spojení).
Zdroj: opennet.ru
