Hlavní navigace

Soumrak SHA-1, ohrožení elektronických podpisů i rozpočtů IT

14. 9. 2009
Doba čtení: 10 minut

Sdílet

 Autor: 29
Je SHA-1 prolomena nebo není? Kvalifikované certifikáty od 1. ledna již pouze s SHA-2. Budete muset kvůli SHA-2 upgradovat všechny stanice Windows?

Stárneme. Kryptografie stárne. Stárnou i hašovací funkce. V současnosti končí, nebo již skončila, morální životnost hašovací funkce SHA-1 pro řadu použití, včetně elektronického podpisu, a je potřeba se s tím vyrovnat.

V dubnu 2005 jsem na Lupě uveřejnil dvojčlánek (článek 1, článek 2) o tehdejší krizi hašovací funkce MD5. Dnes zvolna dochází na SHA-1. Ještě před podrobnostmi o SHA-1 rekapitulace stále platné teorie z obou článků, která je využitelná i pro článek tento. Znalci přeskočí.

První článek probírá základy obecné teorie hašovacích funkcí a jejich požadované vlastnosti jako je odolnost argumentu, druhého argumentu a odolnost proti kolizím, a zdůvodňuje, proč kryptoanalyticky a výpočtově nejsnadnější bývají právě útoky proti kolizím. Ačkoliv je intuitivně lze považovat za málo nebezpečné, druhý článek dokládá konkrétní útok Wangové proti MD5 překonáním odolnosti proti kolizím, který odhaluje nebezpečí v samém srdci systémů PKI, totiž podpisu certifikátů X.509, tedy něčeho, co překonává i běžnou představivost, na co vše lze vést útok.

Druhý článek i vyjasňuje, proč v některých aplikacích hašovacích funkcí překonaná odolnost proti kolizím nevadí, zatímco v jiných aplikacích, typicky v rámci elektronického podpisu, se jedná o vadu zásadní, takže by takto ohrožená funkce již neměla být dále používána.

Vývoj útoků na SHA-1

Zatímco MD5 je funkce s délkou haše 128 bitů, SHA-1 poskytuje délku 160 bitů. Obecný útok hrubou výpočtovou silou na odolnost proti kolizím by proto měl mít u SHA-1 náročnost 280 pokusů. Již v roce 2005 však byla kryptoanalýzou Wangové ohlášena metoda v řádu 269 pokusů a později snad i na 266. Zároveň bylo zřejmé, že se prudce rozvíjí kryptoanalytická teorie hašovacích funkcí a že může dojít k dalšímu oslabení SHA-1.

V druhém článku jsem mj. doporučil provést migraci z SHA-1 na SHA-2 v horizontu 1–3 let, takže pokud jste můj článek četli a brali ho vážně, tak jste jistě již nejpozději koncem r. 2008 přešli na SHA-2, jste v pohodě a zbytek článku si čtete jen jako oddechové čtení.

Mezi další vážné útočníky na SHA-1 se zařadil ústav IAIK Univerzity v Grazu, který snížil náročnost útoku na úroveň 261 a někdy okolo r. 2007 zavedl projekt SHA-1 Collision Search Graz hrubou silou pomocí distribuovaného rozložení výpočtů na pécéčka účastníků, kteří výpočetní výkon svých strojů do projektu dobrovolně přidají pomocí software BOINC. Jakkoliv toto úsilí vypadalo slibně, do dnešního dne kolizi nalezena nebyla a od 12. května 2009 bylo na stránkách projektu oznámeno pozastavení přidělování úloh (nepočítá se): Due to lack of progress, this project is put on hold. Z jakých důvodů, to oznámeno nebylo.

V dubnu 2009 na konferenci Eurocrypt 2009 oznámila skupina autorů v prezentaci Differential Path for SHA-1 with complexity 252, že nalezla kryptoanalytický způsob umožňující útok s náročností pouhých 252. Protože se jednalo o příspěvek v tzv. rump session, došel vlastní článek až dodatečně a byl zveřejněn 1. června 2009. Již 10. srpna však byl na žádost autorů stažen, neboť se zjistilo, že jeden z matematických předpokladů článku, převzatých od jiného autora, neplatí, takže neplatí ani oznámená náročnost. Článek údajně bude přepracován. Mezitím krátce na oznámení reagoval např. Bruce Schneier 16.6.2009: Nový útok může, přinejmenším teoreticky, nalézt kolize ve 252 hašovacích operacích, což je dobře v dosahu výpočetních možností. Za předpokladu, že kryptoanalýza je korektní, měli bychom očekávat skutečné kolize SHA-1 do jednoho roku.

Kryptoanalýza korektní není a ani počítání IAIK zatím nepokračuje, takže se může zdát, že SHA-1 aspoň zatím odolává.

Situace SHA-1 v SRN

BSI (Spolkový úřad pro bezpečnost v IT) v Bundesanzeiger Nr. 19, Seite 376. Jahr 2008 v odůvod­nění uvádí:

V roce 2007 byl pracovní skupinou IAIK Graz popsán dosud nejefektivnější útok s náročností mezi 260 až 261 a byla nalezena konkrétní kolize pro redukovanou (z 80 na 70 průběhů) variantu SHA-1 s pozoruhodně nízkou náročností 244 … I když dosud nebyla kolize nalezena, BSI nemůže ze svého pohledu nadále považovat SHA-1 za odolnou proti kolizím. Tomu odpovídají důsledky pro kvalifikované elektronické podpisy v běžné praxi („im Feld“)“.

Důsledkem je, že Bundesnetzagentur ukončila vyhláškou vydanou dne 5.2.2008 (na návrh BSI) vhodnost použití SHA-1 k 30.červnu 2008! Původně uvažovaný závěr používání ke konci roku 2007 byl v rámci přechodného období o šest měsíců prodloužen, ale dále již nikoliv.

Výjimkou je použití algoritmů k vytváření kvalifikovaných certifikátů poskytovateli certifikačních služeb (dále jen PCS), které je povoleno do konce r. 2009, resp. za zvláštních podmínek do konce r. 2010. Důvodem tohoto uvolnění je, že v tomto prostředí je obsah podepisovaných dat striktně řízen PCS a podsunutí obsahu je proto nepravděpodobné. V SRN je rovněž obligatorní použití tzv SSCD (prostředek pro bezpečné vytváření elektronického podpisu), které podsunutí ztěžuje.

Dalším nevyřčeným důvodem zřejmě je umožnit PCS ekonomicky efektivní migraci, popř. synchronizace obnovy jejich zařízení s pokrokem vývoje techniky tak, jak k obměně dochází v USA (viz níže).

Lze tedy konstatovat, že v SRN:

  • v běžném styku by se SHA-1 neměla používat (a to již rok a dva měsíce),
  • výjimku mají PCS z důvodů prostředí a prostředků poskytujících zvláštní ochranu a zřejmě též z důvodů ekonomických.

Situace SHA-1 v USA

Americký federální úřad pro standardy a technologie (NIST) na své stránce Secure hashing (navštíveno 10.9.2009) povoluje používání SHA-1 v zásadě dle původního harmonogramu životnosti, který NIST pro SHA-1 měl naplánovánu do r. 2010 již někdy okolo r. 2005. Zcela přesně NIST praví:

Federální agentury by měly zastavit používání SHA-1 pro digitální podpisy, digitální časová razítka a ostatní aplikace, které vyžadují odolnost proti kolizím, nejdříve jak to je možné, a musí používat rodinu hašovacích funkcí SHA-2 pro tyto aplikace po 2010. Po 2010 smí federální agentury použít SHA-1 pouze pro následující aplikace: na haši založené autentizační kódy (HMAC), funkce derivace klíče (KDF) a generátory náhodných čísel (RNG). Bez ohledu na použití, NIST doporučuje vývojářům aplikací a návrhářům protokolů, aby používali rodinu funkcí SHA-2 ve všech nových aplikacích a protokolech.

I když jsem konzultoval vazbu „after 2010“ se zkušenými anglickými mluvčími, není zřejmé, zda se jí míní datum 1.1.2010 nebo 31.12.2010. NISTu zřejmě stačí takto vágní formulace.

Situace SHA-1 v ČR

V ČR zaslalo příslušné oddělení Ministerstva vnitra, na které agenda dohledu nad akreditovanými PCS přešla ze zrušeného Ministerstva informatiky, oznámení Změna v kryptografických algoritmech, které jsou používány pro vytváření elektronického podpisu (zřejmě již v průběhu r. 2008) všem třem akreditovaným PCS. Výrok oznámení je:

Na základě aktuálních poznatků v oblasti kryptografie a dokumentu ETSI TS 102 176–1 V2.0.0 (ALGO Paper) Ministerstvo vnitra stanoví:

Kvalifikovaní poskytovatelé certifikačních služeb ukončí vydávání kvalifikovaných certifikátů s algoritmem SHA-1 do 31. 12. 2009. Od 1. 1. 2010 budou tito poskytovatelé vydávat kvalifikované certifikáty podporující některý z algoritmů SHA-2.

Zároveň je od uvedeného data stanovena minimální přípustná délka kryptografického klíče pro algoritmus RSA na 2048 bitů.

Uvedené oznámení v zásadě připouští existenci přechodného období, v němž by PCS vydávali ještě certifikáty ještě s SHA-1 a současně již i s SHA-2, podle výběru žadatele o certifikát. To by umožnilo se jim připravit na potřebnou migraci i v jejich prostředí.

Počátkem roku 2009 jsem obesílal všechny PCS s dotazem, odkdy SHA-2 začnou poskytovat, a odpověď byla, že řádově od půlky roku 2009. Posléze se na webových stránkách MV objevilo stručné oznámení Dohoda zástupců akreditovaných poskytovatelů certifikačních služeb, obsahující:

V návaznosti na oznámení Ministerstva vnitra o změně v kryptografických algoritmech, které jsou používány pro vytváření elektronického podpisu, došlo k následující dohodě zástupců akreditovaných poskytovatelů certifikačních služeb, tj. České pošty s. p., eIdentity a. s. a První certifikační autority a. s.:

Kvalifikované certifikáty s hashovací funkcí třídy SHA-2, které začnou vydávat nejpozději od 1. ledna 2010, budou všichni tři poskytovatelé přednostně nabízet s hashovací funkcí SHA-256 v kombinaci s algoritmem RSA s délkou klíče 2048 bitů. Poskytovatel certifikačních služeb může na základě vlastního rozhodnutí a základě požadavků svých zákazníků vydávat kvalifikované certifikáty i s některou z dalších funkcí z rodiny SHA-2, tj. SHA-224, SHA-384 nebo SHA-512.

Ministerstvo vnitra nemá námitek proti této dohodě. Tvůrce aplikací pracujících se zaručeným elektronickým podpisem založeném na kvalifikovaném certifikátu je však nutné upozornit, že je nezbytné vytvořit prostředí pro akceptování všech čtyř hashovacích funkcí rodiny SHA-2, a to i s ohledem na akceptaci kvalifikovaných certifikátů vydaných v jiných členských státech EU.

Z právního pohledu bych si dovolil všechny výše zúčastněné, tj. MV i všechny tři PCS, upozornit, že uvedená oznámení na webu nelze považovat za právní předpisy platné v ČR, a vůči všem třetím stranám v ČR jsou právně neúčinná. Třetí strany se mohou i po 1.1.2010 domáhat od PCS poskytování služeb tak, jak jsou určeny v platných právních předpisech, které nebyly novelizovány. Dotčeným PCS toto může způsobit hospodářskou škodu a MV dále zvýšit zmatek, který je e-podpisům již dávno imanentní.

Z technického pohledu je naopak takové vyjasnění relativně vítané, neboť umožňuje se racionálně připravit na chystané změny.

Přes slib poloviny roku 2009 zatím bohužel webové stránky PCS neuvádějí žádné podrobnosti o počátku poskytování služeb s SHA-2, nebo možnosti zkoušek. Pouze ze zákulisních informací je zřejmé, že zkoušky s technologiemi přeci jen probíhají.

Prohlášení Národního bezpečnostního úřadu

Z českých zdrojů stojí ještě za pozornost Prohlášení NBÚ k využívání hashovacích funkcí (navštíveno 10.9.2009, dříve též kupř. 25.11.2008):

Vzhledem k tomu, že dochází k prudkému vývoji v oblasti kryptoanalýzy hashovacích funkcí (nalezení kolizí u některých hashovacích funkcí) a tyto funkce se používají v řadě bezpečnostních aplikací (např. elektronický podpis, atd.) a také v mnoha kryptografických prostředcích vydává NBÚ následující prohlášení:

1. Doporučuje se nadále nepoužívat hashovací funkce s výstupem menším než 160 bitů (např. hashovací funkce MD4, MD5, RIPEMD, HAVAL-128 atd.).

2. Doporučuje se neprodleně zahájit přípravu k přechodu od hashovací funkce SHA-1 na novou generaci hashovacích funkcí třídy SHA-2 (SHA-224, SHA-256, SHA-384 a SHA-512).

3. Doporučuje se prozkoumat všechny bezpečnostní aplikace i kryptografické prostředky, ve kterých se využívá hashovacích funkcí a odborně posoudit vliv nejnovějších kryptoanalytických útoků na jejich bezpečnost.

SHA-1 a Microsoft Windows

Na žádost Ministerstva vnitra poskytl výrobce známých operačních systémů Stanovisko Microsoft Česká republika k podpoře silnější kryptografie.

Podle tohoto vyjádření je podporována „validace cetifikátů“ pro https relace v operačních systémech Windows XP SP3, Vista, Windows Server 2008 SP1, Windows Server 2003 SP2 + speciální hotfix. Tato podpora však neznamená podporu SHA-2 v rámci S/MIME ani ve všech funkcích CryptoAPI (CAPI).

Dopis explicitně varuje, že pod validací certifikátu se na uvedených platformách nemíní pokrytí:

  • hashování,
  • podepisování,
  • kódování/dekódování dat,

za využití CAPI 2.0.

Komplexní implementace CAPI 2.0, která by pokryla i tyto funkce, je či bude součástí pouze:

  • Windows Vista,
  • Windows 7 (později uvedený),
  • Windows Serveru 2008 SP1.

Z textu vyplývá, že dosud běžně používané operační systémy:

  • Windows XP (ani SP3),
  • Windows Server 2003,

plnou podporu SHA-2 neobsahují a obsahovat nebudou.

Protože nativní CryptoAPI využívá většina či mnoho aplikací na těchto platformách spouštěných, lze se obávat, že buďto všichni uživatelé budou do 31.12.2009 migrovat na Windows Vista nebo Windows 7, anebo jim po 1.1.2010 nebude možné vydat kvalifikovaný certifikát od akreditovaného PCS.

Opravdu např. všechny úřady, které mají nyní začít komunikovat prostřednictvím datových schránek, a v rámci toho na své straně většinou musí používat uznávané elektronické podpisy, budou schopné do 31. prosince 2009 migrovat na Windows Vista nebo Windows 7. Mám o tom své pochyby.

Chcete-li plnohodnotně používat SHA-2 na platformě Windows XP, pak je třeba, aby váš kryptografický prostředek disponoval nikoliv pouze moduly pro CryptoAPI, ale i moduly s rozhraním nezávislým na platformě, jako je např. Cryptoki, a aby i vaše aplikace byla schopna s tímto modulem schopna pracovat, a aby byla ověřena i výkonnost hardware stanice.

Alternativně je skutečně nutné migrovat na vyšší nebo jiný operační systém.

Co si počkat na SHA-3?

Americký NIST vypsal v minulých letech mezinárodní soutěž na tvorbu nového hašovacího algoritmu SHA-3. Nároky jsou stanoveny vysoko: nejen vysoká kryptografická odolnost, ale i nízká výpočetní náročnost na výkon zařízení, které hašování provádí.

Konec soutěže a vyhlášení standardu lze očekávat někdy okolo roku 2012 – 2013. Vyčkávat s migrací až na tuto dobu není možné.

Perspektiva migrace – souhrn a doporučení

Stav techniky v IT se nyní neliší stát od státu, ale je celosvětově unifikován. Ohrožení nebo prolomení SHA-1 se fakticky týká všech zemí světa stejným způsobem. Právní předpisy Německa zareagovaly zastavením používání již v roce 2008, v USA se uvažuje původní datum roku 2010.

BRAND24

V ČR má dojít ke změně hašovacích funkcí při vydávání kvalifikovaných certifikátů nejpozději 1.1.2010. Jako obvykle je po právní stránce situace v ČR zmatečná, nicméně fakticky lze doporučit:

  • nejpozději do 1.1.2010 se vybavit takovými technologiemi (kryptografické jednotky, moduly, tokeny, smartcards, sw knihovny či moduly, operační systémy, aplikace), které jsou schopny podporovat SHA-2, pokud to aplikace vyžaduje (typicky elektronický podpis vyžaduje),
  • čeští PCS budou podporovat zejména SHA-256,
  • morální životnost hašovacích funkcí z rodiny SHA-2 je odhadovaná do r. 2015.

Vzhledem k míře prosazení se SHA-1 bude migrace na SHA-2 bolestná. Bude bolet hlava, bude třeba utrácet peníze i čas.

Jak moje firma/organizace migruje z SHA-1 na SHA-2?

Byl pro vás článek přínosný?

Autor článku

Autor se několik let specializuje na Elektronický podpis v ČR aj. konzultace v oblasti počítačové bezpečnosti.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).