Vědci nejspíše přišli na to, jak se NSA podařilo prolomit VPN

Snowden loni vypustil do světa zprávu, že prý NSA odposlouchává až 20 tisíc šifrovaných spojení VPN za hodinu. Skupina vědců nejspíše přišla na způsob, jak se to agentuře podařilo.

 Ilustrační foto
18.10.2015 11:30   |  

Snowdenovi se sice podařilo dostat téma americké Národní bezpečnostní agentury na titulní strany světových periodik, odborná komunita však o možnostech NSA spekulovala již dávno před tím. Letitým evergreenem byla především otázka, zdali má jedna z nejmocnějších vládních agentur na světě skutečně prostředky k tomu, aby dokázala ve velkém odposlouchávat i šifrovanou komunikaci na internetu – zejména VPN.

Určité náznaky tu byly celé roky, z nitra mocné agentury totiž tu a tam opravdu unikla nějaká zajímavá informace, kterým na jaře 2012 vévodila zpráva, podle které si NSA mohla připsat jakýsi ohromný úspěch v oblasti počítačové kryptografie.

Nikdo tehdy ale přesně netušil, oč by se mohlo jednat, než se o pár let později objevil na scéně Edward a začal publikovat tajné prezentace NSA, ve kterých se agentura mimo jiné chlubila právě tím, že dokáže prakticky živě odposlouchávat obrovské množství VPN a SSH komunikace a dokáže pokořit i HTTPS a další typy šifrovaného datového toku.

Dobrá, dejme tedy tomu, že to NSA skutečně dokáže. Ale jak? Skupina čtrnácti expertů před pár dny publikovala studii (PDF), ve které popisuje možný způsob. A další specialisté přikyvují a dávají jim za pravdu.

Diffeho-Hellmanova výměna klíčů

Jedním z nejpravděpodobnějších technik NSA je údajně prolomení Diffeho-Hellmanovy výměny klíčů (D-H). Jedná se o kryptografický protokol, který se používá pro otevření šifrovaného spojení skrze nezabezpečený kanál – veřejný internet. Protokol D-H používá celý zástup šifrovacích technologií, v jejichž čele stojí IPSec, který konečně patří k nejrozšířenějším protokolům šifrovaného spojení uvnitř VPN tunelu.

A co má být vlastně na Diffeho-Hellmanově výměně klíčů děravého? Ve vší stručnosti se pokusím popsat, jak vlastně funguje. Dejme tomu, že se budu chtít spojit s Davidem z redakce šifrovanou linkou. Jenže jak to udělat, aniž bychom si dopředu dohodli klíč, kterým budeme celou komunikaci šifrovat?

Jak funguje protokol D-H:

Jak funguje protokol D-H:
Nejprve si s Davidem dohodneme veřejná a obrovská prvočísla p a g, která budou sloužit k extrémně složitým výpočtům.
Dále si každý zvolíme tajná a náhodná čísla a a b, která budou sloužit jako náše soukromé klíče.
Pomocí prvočísel p a g spočítáme ze soukromých klíčů veřejné klíče A a B, které si navzájem vyměníme.
Díky vzájemným matematickým vztahům mezi p, g, A a B každý z nás vypočítá stejný šifrovací klíč s, který můžeme konečně použít k vlastní šifrované komunikaci.

Wikipedie vysvětluje princip protokolu D-H pro vytvoření šiforvacího klíče formou diagramu s mícháním barev. Obrázek jsem tedy upravil pro naše potřeby (Zdroj: David Elster, Wikipedie, CC-BY-SA)

Celý princip najdete matematicky i graficky znázorněný na Wikipedii, ve stručnosti a zcela laicky řečeno jde ale o to, že si můžeme s Davidem skrze veřejný internet vyměnit několik neškodných hodnot, na jejichž základě každý z nás vypočítá tentýž šifrovací klíč, aniž bychom se na něm museli nejprve jasně dohodnout.

Když nás tedy bude někdo odposlouchávat, dozví se leda hodnotu prvočísel p, g a veřejných klíčů A a B. Aby ovšem získal šifrovací klíč s, musel by znát i tajné hodnoty soukromých klíčů a a b.

D-H + IPsec = problém

Pokud se útočník nedostane k a a b na mém a Davidově počítači, zbývá mu jediná možnost – pokusit se je zjistit reverzními výpočty. Celá podstata počítačové kryptografie ale stojí a padá na principu, že je podobný výpočet velmi složitý, aby se ekonomicky vyplatil.

Jistě, můžete rozlousknout nějaký ten 1 024bitový klíč, ale zabere to třeba rok výpočtů na hypotetickém superpočítačovém clusteru v ceně několika set milionů dolarů. To je prakticky k ničemu.

Skupina výzkumníků však přišla na jednu nepříjemnost. Výpočet soukromých klíčů a a b pro určité p a g je sice šíleně složitý, ale pokud už jednou známe veřejné hodnoty p a g, výpočet dalších možných soukromých klíčů a a b odpovídajících stejným p a g zabere jen zlomek původního výpočetního výkonu. Tedy alespoň v případech, kdy se při výpočtech používají nejvýše 1 024bitové hodnoty.

V ideálním případě by obě strany při inicializaci šifrovaného spojení pokaždé zvolily náhodná prvočísla, jenže praxe může být jiná, čímž se dostáváme zpět k VPN a protokolu IPSec. Podle zjištění skupiny specialistů totiž většina serverů používá IPSec jen s malou sadou standardizovaných a opakujících se hodnot p a g.

Kdyby tedy někdo investoval měsíce času a desítky až stovky milionů dolarů do vývoje crackovacího superpočítače a podařilo by se mu skutečně prolomit protokol D-H pro konkrétní hodnoty p a g, další soukromé klíče pro tatáž pročísla odhalí už relativně snadno. No a jelikož se hodnoty p a g třeba u zmíněného IPSec příliš nemění, mohl by útočník masivně odposlouchávat zdánlivě bezpečně šifrované spojení.

NSA má finanční zdroje i motiv

Něco podobného by se mohlo podařit jen organizaci s pohádkovým rozpočtem, know-how a hlavně motivem. Výzkumníci tedy došli k závěru, že pokud NSA skutečně rozlouskla ve velkém VPN, SSH a některé další šifrovací technologie, popsaná slabina 1024bitové Diffeho-Hellmanovy výměny klíčů je asi ona pomyslná trefa do černého a podporuje ji i šuškanda ohledně jakéhosi kryptografického úspěchu z roku 2012.

Centrála Národní bezpečnostní agentury v Marylandu

Možná tehdy NSA skutečně rozlouskla první D-H prvočísla a začala sledovat šifrovaný internet ve velkém. Ostatně podle Snowdena měla agentura už před lety technologickou kapacitu k tomu, aby odposlouchávala až 20 tisíc šifrovaných spojení VPN za hodinu a také určité množství HTTPS spojení. Zdokumentovaný postup, který vyžaduje ohromné kvantum času a peněz na počátku, pak je ale velmi svižný, se tedy opravdu nabízí.

Zvyšte zabezpečení, doporučí specialisté

A jak se proti tomu vlastně bránit? Experti doporučují v případě protokolu D-H zvýšit šifrování z 1 024bitových na 2 048bitové klíče (na ty by měla být krátká i NSA) a také implementaci lepších technik iniciace prvotního spojení – zejména protokol D-H s využitím eliptických křivek. To už se ale dostáváme do mnohem komplikovanějšího kryptografického světa, na který tento článek rozhodně nestačí.

Jaké z toho plyne ponaučení? Designové chyby mohou překonat jinak nezměrnou kryptografickou sílu komplikovaných matematických výpočtů. Nelze než doufat, že NSA neví i o skulinách v dalších šifrovacích protokolech, které dnes používáme nejen na internetu. Moc jistý bych si tím ale nebyl.

Text vyšel na serveru Živě.cz

Autor: Jakub Čížek

Komentáře

Čtěte také

Další rána ruskému rozpočtu? Kremlu začíná vadit příliš silný rubl

Další rána ruskému rozpočtu? Kremlu začíná vadit příliš silný rubl

Ruská měna od začátku roku posílila vůči dolaru o 15 procent a Moskvě kvůli tomu přibývají starosti. Podle ekonomického poradce prezidenta Vladimira Putina tento vývoj může snížit… více

Mobilní web