Hlavní navigace

Nebezpečné certifikáty: konec SHA-1 a 1024bitové­ho RSA

15. 9. 2014
Doba čtení: 5 minut

Sdílet

Webovou bezpečnost čeká menší revoluce. Šifrovací algoritmus RSA v 1024bitové podobě a hašovací funkce SHA-1 přestávají být bezpečné. Po letech tak budou odstaveny a nahrazeny bezpečnějšími nástupci. Jak změna proběhne? Kolika stránek a uživatelů se to dotkne? A proč by nás to vůbec mělo zajímat?

Mozilla sice přestala 1024bitové RSA certifikáty podporovat až nyní, ale proces jejich opuštění již běží několik let. Americký Národní institut standardů a technologie doporučil jejich nahrazení už v roce 2010, viz podrobná studie v PDF. Na základě toho se certifikační autority a výrobci softwaru ve sdružení CA/Browser Forum rámcově dohodli, že RSA certifikáty s krátkou délkou klíče přestanou podporovat na konci roku 2013.

To se nakonec trochu protáhlo a Firefox jejich podporu vyřadil až v nedávno vydané dvaatřicáté verzi. Nejiniciativnější byl v této záležitostí Microsoft, který certifikáty do 1024 bitů zablokoval už před dvěma roky. Projekt Chromium, z nějž vychází zejména prohlížeče Chrome, Opera a Maxthon, se k tomuto kroku chystá také, ale žádné datum zatím stanoveno nebylo. Vývojáři se obávají toho, kolik stránek a především koncových uživatelů změna ovlivní.

Zneužívání je jen otázkou času

Není šifrovacího algoritmu, který by teoreticky nebyl prolomitelný. Problém nastává, pokud se stane prolomitelný i prakticky. „Nepanuje úplná shoda v tom, zda lze 1024bitové RSA šifry prolomit s prostředky národních států. Ale jak technologický vývoj postupuje, tyto klíče budou stále méně bezpečné a časem je bude možné prolomit i s relativně malým hardwarovým clusterem,“ píše HD Moore z bezpečnostní iniciativy Project Sonar.

Zkrátka je jen otázkou času, než bude prolomení 1024bitových RSA klíčů možné. A co hůř, z finančního hlediska poměrně dostupné. Na co tedy přejít? Jako první možnost se logicky nabízí RSA s větší délkou klíče, obvykle 2048 bitů. Dostupné jsou ještě vícebitové varianty, nicméně vzhledem k bezpečnosti a nárokům na výpočetní výkon se 2048bitová varianta jeví jako dostačující.

Už přechod z 1024 na 2048 si vyžádá podstatně víc výpočetního výkonu, u dešifrování je to cca šestinásobek. Pro koncového uživatele je to pochopitelně nepostřehnutelný rozdíl, nicméně v případě vytížených serverů už je to věc, kterou je dobré mít na vědomí. Některé certifikační autority nabízí také využití kryptografie eliptických křivek (ECC). Ta dokáže zajistit stejně silné zabezpečení při kratší délce klíče a tedy je i méně výpočetně náročná. 256bitové ECC je podobně silné jako 3072bitové RSA.

ECC je oproti RSA relativně nová šifra a nepodporují ji všechny programy, prohlížeče však většinou ano. „Doporučujeme nainstalovat ECC certifikát vedle RSA certifikátu, aby se mohl připojit každý nehledě na konfiguraci zařízení. Toto řešení ale zatím podporuje pouze webový server Apache,“ sděluje Symantec v pokynech k přechodu. V případě podpory se tak použije ECC certifikát, v opačném případě se použije tradiční RSA.

Zastavme se ještě u českých certifikačních autorit, které mají akreditaci od Ministerstva vnitra ČR pro vydávání kvalifikovaných certifikátů, tedy I.CA, PostSignum (Česká pošta) a eIdentity. Z nařízení ministerstva musí všechny z nich vydávat certifikáty s minimální délkou klíče 2048 bitů. Zde tedy není z hlediska bezpečnosti moc co řešit. A nic se nemění ani z uživatelského hlediska, protože kořenové certifikáty nejsou obsaženy přímo v prohlížečích.

Praktické dopady

Jak změna dopadne na běžného uživatele Firefoxu, případně Thunderbirdu, na který se vztahují stejná pravidla? Pokud přistoupíte na stránku s 1024bitovým klíčem nebo stránku, pro kterou byl klíč vydána certifikační autoritou s 1024 klíčem, software vám ukáže standardní okno informující o nezabezpečeném spojení. A pokračovat vám umožní pouze tzv. na vlastní nebezpečí. Stále se však jedná jen o výchozí nastavení. Prohlížeč můžete obvyklým způsobem nakonfigurovat tak, aby s danými autoritami i nadále spolupracoval.

Týká se to celkem osmi organizačních jednotek od pěti certifikačních autorit: Entrust, SECOM, Go­Daddy, EMC/RSA, Symantec/Ve­riSign a NetLock. Některé certifikáty zmíněných autorit byly rovnou odebrány, jiné se ve Firefoxu stále nachází, ale jsou označeny jako nedůvěryhodné. Ale abychom byli přesní – kompletní odstavení 1024 bitů je rozděleno do třech fází a toto je pouze první z nich. Do poloviny příštího roku by měly být odstaveny všechny organizační jednotky.

Zásadnější otázkou však je, kolika stránek se změna dotkne. To se opět pokusili zjistit v Project Sonar. Prohledání webu odhalilo cca 107 000 těch, které se stále odkazují na již nedůvěryhodné typy certifikátů. Podrobnější čísla však nenabízejí zdaleka tak děsivý pohled. Stránek, kterých se dotkla opravdu ona změna bezpečnostní politiky, je zhruba třináct tisíc. Zbylé používají již propadlé certifikáty. Velká část, necelých čtrnáct tisíc, jich expirovala teprve nedávno v červenci.

Zdá se tak, že dopad rozhodnutí nebude nijak rozsáhlý. Věřím, že většina dotčených serverů brzy certifikáty vymění. A ty zbylé pravděpodobně můžeme zařadit do skupiny opuštěných stránek, která je poměrně početná, jak nám naznačují statistiky Project Sonar. Samotné certifikační autority situaci nepodcenily a na nedostatečnost 1024bitových klíčů upozorňují už relativně dlouho.

Chrome dá sbohem SHA-1

Jednu velkou změnu týkající se šifrované komunikace ohlásil také konkurenční prohlížeč Chrome. Zatímco s ukončením podpory RSA si dává načas, jako první chce zavrhnout hašovací algoritmus SHA-1, který je užíván pro podpisování certifikátů. V případě použití tohoto algoritmu je pro útočníka vybaveného vysokým výpočetním výkonem možné najít kolizi. Americký odborník na kryptografii Bruce Schneier odhaduje, že do pěti let by měly být takové služby za přijatelnou cenu dostupné na černém trhu.

Náhrada je jasná: SHA-2. To je celá rodina funkcí, pro účely podpisování certifikátů se však obvykle užívá SHA-256. Problém SHA je možná jednodušší a méně nápadný než problém RSA, ale nakonec ještě může nadělat dost neplechy. Na rozdíl od 1024bitového RSA používá SHA-1 drtivá většina certifikátů. Podle květnových statistik společnosti Netcraft je jich 93 %. Na druhou stranu je zde jasný trend poměrně rychlého nástupu SHA-2.

Také opuštění SHA-1 už bylo v plánu, ovšem Google plán značně akceleroval. Od následující verze prohlížeče Chrome bude certifikáty podepsané touto funkcí a s platností přesahující 1. leden 2017 označovat jako bezpečné s menšími chybami. Na tomto datu se totiž opět dohodli ve sdružení CA/Browser Forum. S další verzí Chrome (40) se postoupí na další stupeň, kdy se onoho označení dočkají i certifikáty s koncem platnosti v druhé polovině roku 2016.

Další fáze (Chrome 41) pak označí i certifikáty expirující v první polovině roku 2016. Od té doby už budou certifikáty s platností do roku 2017 nebo ještě později považovány za nedostatečně bezpečné. Takové stránky/certifikáty poznáte tak, že https v adresním řádku bude červené a přeškrtnuté. Co se stane po 1. lednu 2017 zůstává otázkou. Ale na to je asi ještě čas.

UX DAy - tip 2

Kvalifikované certifikáty užívané pro komunikaci s veřejnou správou jsou opět v suchu. Ministerstvo vnitra se v tomto ohledu zachovalo docela předvídavě a kvalifikované certifikáty už od roku 2010 musí být vydávány s SHA-2.

Informace, které máme k dispozici, naznačují, že obě změny by mohly proběhnout bez větších problémů. Krátké RSA klíče se týkají už jen relativně malého počtu webů a SHA-1 se podle všeho Google snaží podchytit co nejdříve a proto na nedostatečnou bezpečnost SHA-1 bude upozorňovat dříve, než se plánovalo. Možná ho k tomu dotlačilo zmiňované nízké zastoupení SHA-2. Neméně důležité však bude, jak se ke změnám postaví další, a většinou konzervativnější, hráči na trhu.

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

Autor článku

Bývalý redaktor serveru Root.cz, dnes produktový manažer a konzultant se zaměřením na Bitcoin a kryptoměny.