Útok hrubou silou: Porovnání verzí

Smazaný obsah Přidaný obsah
→‎Teoretické limity: styl, formulace
Řádek 5:
 
== Teoretické limity ==
Čas potřebný pro útok hrubou silou rose [[Exponenciální funkce |exponenciálně]] s rostoucí [[Délka klíče |délkou klíče]]. Podle historických předpisů USA byla délka [[Symetrická šifra |symetrických klíčů]] stanovena na maximálně 56 bitů (např. [[Data Encryption Standard |Data Encryption Standard]]), tyto předpisy neměly dlouhého trvání, dnešní symetrické šifrovací algoritmy používají obvykle delší klíče, a to 128 až 256bitové.
Čas, potřebný pro
brute-force útok [[Exponenciální funkce |exponenciálně]] roste s rostoucí [[Délka klíče |délkou klíče]]. Podle historických
předpisů USA byla délka [[Symetrická šifra |symetrických klíčů]] stanovena na maximálně 56 – bitů (např
[[Data Encryption Standard |Data Encryption Standard]]), tyto předpisy neměly dlouhého trvání, dnešní
symetrické šifrovací algoritmy používají obvykle delší klíče, a to 128 až 256 –
bitové.
 
Existují fyzické argumenty, podle kterých je symetrický klíč o délce 128bitů proti brute-force útoku dostatečně bezpečný. Takzvaný [[Landauer's principle |Landauerův limit]] vyplývající z fyzikálních zákonů určuje dle vzorce kT * ln(2) nejnižší potřebnou hranici vynaložené energie k prolomení klíče, kde T je teplota procesoru v [[Kelvin |kelvinech]], k je [[Boltzmannova konstanta|Boltzmannova konstanta]] a hodnota [[Logaritmus|přirozeného logaritmu]] ze 2 je 0,693. Z principu nemůže žádné výpočetní zařízení využít méně energie než té, která vyplývá z výše uvedeného vzorce. Kdybychom chtěli jednoduše otestovat všechny možné varianty pro 128bitový symetrický klíč,  bylo by teoreticky potřeba (2^128)−1 testovaných bitů. Pokud předpokládáme, že výpočet probíhá v pokojové teplotě (~300 K), tak dle Von Neumann-Landauerova vzorce bude pro výpočet potřeba přibližně 10^18 [[Joule|joulů]], což odpovídá spotřebě 30 [[Watt|gigawatů]] po
Existují fyzické
dobu jednoho roku. To se rovná 30×10<sup>9</sup>W×365×24×3600 s = 9.46×10<sup>17</sup> J nebo 262.7 TWh ([[:en:List of countries by electricity production|vice než 1/100 světové výroby elektřiny]]). Skutečný výpočet – kontrolujeme každý klíč a zjišťujeme, zda jsme našli řešení – mohli bychom potřebovat mnohokrát více výše spočtené energie. Kromě toho, je toto pouze energie potřebná pro cyklický průchod klíčem; skutečný čas potřebný k otestování každého bitu je velký a nevyplatí se nám čekat.
argumenty, podle kterých je symetrický klíč o délce 128-bitů proti brute-force
útoku dostatečně bezpečný. Takzvaný [[:en:Landauer's principle |Landauer limit]] vyplývající z fyzikálních
zákonů určuje dle vzorce kT * ln(2) nejnižší potřebnou hranici vynaložené
energie k prolomení klíče. T je teplota procesoru v [[Kelvin |kelvinech]], k je
[[Boltzmannova konstanta|Boltzmannova konstanta]], a hodnota [[Logaritmus|přirozeného logaritmu]] ze 2 je 0,693. Z principu
nemůže žádné výpočetní zařízení využít méně energie než té, která vyplývá z výše
uvedeného vzorce. Kdybychom chtěli jednoduše otestovat všechny možné varianty
pro 128-bit symetrický klíč,  bylo by
teoreticky potřeba (2 ^ 128) -1 testovaných bitů. Pokud předpokládáme, že
výpočet probíhá v pokojové teplotě (~300 K), tak dle Von Neumann-Landauer vzorce bude pro
výpočet potřeba přibližně 10^18 [[Joule|joulů]], což odpovídá spotřebě 30ti [[Watt|gigawatů]] po
dobu jednoho roku. To se rovná 30×10<sup>9</sup>W×365×24×3600 s = 9.46×10<sup>17</sup> J nebo 262.7 TWh ([[:en:List of countries by electricity production|vice než 1/100 světové výroby elektřiny]]). Skutečný výpočet – kontrolujeme každý
klíč, a zjišťujeme, zda jsme našli řešení – mohli bychom potřebovat mnohokrát
více výše spočtené energie. Kromě toho, je toto pouze energie potřebná pro
cyklický průchod klíčem; skutečný čas potřebný k otestování každého
bitu je velký a nevyplatí se nám čekat.
 
Navíc tyto výpočty předpokládají, že hodnoty klíče jsou vygenerovány konvenčně (ne pseudonáhodně), ale v dnešní době se při generování používá [[entropie]]. Bylo prokázáno, že i přes výše uvedený teoretický limit je možné sestavit hardware, který takový výpočet zvládne (viz. [[reversible computing]]), zatím ale žádný takový počítač nebyl sestrojen.
Navíc tyto výpočty předpokládají, že hodnoty klíče jsou vygenerovány
konvenčně (ne pseudonáhodně), ale v dnešní době se při generování používá
[[Entropie|entropie]]. Bylo prokázáno, že i přes výše uvedený teoretický limit je možné
sestavit hardware, který takový výpočet zvládne (viz. [[:en:Reversible computing|reversible computing]]),
zatím ale žádný takový počítač nebyl sestrojen.
 
[[File:ATI Radeon HD 5770 Graphics Card-oblique view.jpg|thumb|left|Moderní [[GPU|GPU]] jsou dobře přizpůsobeny pro opakující se úlohy spojené s hardwarovým prolomením hesla.]]
Dostupný komerční následovník vládní ASICs Solution, také známý jako [[:en:Custom hardware attack|custom hardware attack]], zveřejnil dvě technologie, které dokáží aplikovat brutte-force
útok na některé dnešní šifry. První je moderní [[GPU|grafický procesor]] (GPU)
technologie, a také [[Programovatelné hradlové pole|programovatelná hradlová pole]] (FPGA) technologie. Výhoda GPU
spočívá v jejich široké dostupnosti a poměru cena – výkon, FPGA
technologie je zase energicky výhodnější pro kryptografické operace. Obě
technologie se pro brutte-force útok snaží využít výhody paralelního
zpracování. Počet procesorů, které pro prolomení hesla využívá technologie GPU
se pohybuje v řádů stovek, u FPGA je to i několik tisíc procesorů. Tyto
technologie jsou mnohem účinnější než konvenční procesory. Různé výzkumy v oblasti
kryptografické analýzy prokázaly velkou energetickou účinnost dnešních FPGA
technologií, například počítač [http://sciengines.com/copacobana COPACOBANA] FPGA spotřebuje stejné množství energie
jako jeden konvenční PC (600 W), ale pro některé algoritmy má účinnost 2 500
počítačů. Některé firmy provedly hardware-based FPGA kryptografické analýzy, a
to od testování samotné FPGA [[PCI-Express|PCI-Express]] karty až po specializované FPGA
počítače. Šifry [[Wi-Fi Protected Access|WPA]] a [[Wi-Fi Protected Access|WPA2]] byly metodou brute-force úspěšně napadeny, tím, že
se snížilo pracovní zatížení o faktor 50 v porovnání s konvenčním PC
a o několik set v případě FPGA počítače.
 
Dostupný komerční následovník vládní ASICs Solution, také známý jako [[custom hardware attack]], zveřejnil dvě technologie, které dokáží aplikovat brutte-force útok na některé dnešní šifry. První je moderní [[GPU|grafický procesor]] (GPU) technologie, a také [[Programovatelné hradlové pole|programovatelná hradlová pole]] (FPGA) technologie. Výhoda GPU spočívá v jejich široké dostupnosti a poměru cena – výkon, FPGA technologie je zase energicky výhodnější pro kryptografické operace. Obě technologie se pro brutte-force útok snaží využít výhody paralelního zpracování. Počet procesorů, které pro prolomení hesla využívá technologie GPU se pohybuje v řádů stovek, u FPGA je to i několik tisíc procesorů. Tyto technologie jsou mnohem účinnější než konvenční procesory. Různé výzkumy v oblasti kryptografické analýzy prokázaly velkou energetickou účinnost dnešních FPGA technologií, například počítač COPACOBANA<ref>[http://sciengines.com/copacobana COPACOBANA]</ref> složený z FPGA spotřebuje stejné množství energie jako jeden konvenční PC (600 W), ale pro některé algoritmy má účinnost 2&nbsp;500 počítačů. Některé firmy provedly hardware-based FPGA kryptografické analýzy, a to od testování samotné FPGA [[PCI-Express|PCI-Express]] karty až po specializované FPGA počítače. Šifry [[Wi-Fi Protected Access|WPA]] a [[Wi-Fi Protected Access|WPA2]] byly metodou brute-force úspěšně napadeny tím, že se snížilo pracovní zatížení o faktor 50 v porovnání s konvenčním PC a o několik set v případě FPGA počítače.
Šifrovací metoda [[Advanced Encryption Standard|AES]] pracuje s 256-bit klíčem. K prolomení symetrického
klíče o velikosti 256-bitů metodou brute-force je potřeba 2^128 krát vetší
výkon než u 128-bit klíče. 50 superpočítačů, které by byly schopny prověřit
bilion bilionů (10^18) AES klíčů za vteřinu (pokud by takové zařízení někdy
bylo vyrobeno), by teoreticky vyžadovaly přibližně 3*10^51 let k vyčerpání
(prozkoumání) všech možných 256-bit klíčů.
 
Šifrovací metoda [[Advanced Encryption Standard|AES]] pracuje s 256bitovým klíčem. K prolomení symetrického klíče o velikosti 256&nbsp;bitů metodou brute-force je potřeba 2^128 krát vetší výkon než u 128bitového klíče. Celkem 50 superpočítačů, které by byly schopny prověřit bilion bilionů (10^18) AES klíčů za vteřinu (pokud by takové zařízení někdy bylo vyrobeno), by teoreticky vyžadovaly přibližně 3*10^51 let k vyčerpání (prozkoumání) všech možných 256bitových klíčů.
Základní předpoklad brute-force útoku je, že byla využita celá délka klíče
 
pro jejich generování, způsob, který se opírá o efektivní [[Generátor náhodných čísel|generátor náhodných čísel]], a o to, že v tomto generačním algoritmu nejsou žádné chyby.
Základní předpoklad brute-force útoku je, že byla využita celá délka klíče pro jejich generování, což vyžaduje efektivní [[generátor náhodných čísel]] a skutečnost, že v algoritmu generujícím náhodná čísla nejsou chyby. Například několik systémů, které se zdály být vůči brutte-force útoku imunní, byly přesto nabourány, protože jejich [[Key space (cryptography)|klíčový prostor]] je mnohem menší, než se původně myslelo a to díky nedostatku entropie v jejich [[Generátor pseudonáhodných čísel|generátoru pseudonáhodných čísel]]. Mezi tyto systémy patří [[Netscape|NETSCAPE]] implementace [[Secure Sockets Layer|SSL]] (slavně prolomeno [[Ian Goldberg|Ian Golbergem]] a [[David A. Wagner|Davidem Wagnerem]] v roce 1995) a [[Debian|debian]]/[[Ubuntu|ubuntu]] edice [[OpenSSL]], u kterého se nedostatek bezpečnosti projevil v roce 2008. Podobný nedostatek entropie v klíči vedl k prolomení [[Enigma|enigmy]].
Například, několik systémů, které se zdály být vůči brutte-force útoku imunní,
byly přesto nabourány, protože jejich „[[:en:Key space (cryptography)|klíčový prostor]]“ je mnohem menší, než se
původně myslelo a to díky nedostatku entropie v jejich [[Generátor pseudonáhodných čísel|generátoru pseudonáhodných čísel]]. Mezi tyto systémy patří [[Netscape|NETSCAPE]] implementace [[Secure Sockets Layer|SSL]] (slavně
prolomeno [[:en:Ian Goldberg|Ian Golbergem]] a [[:en:David A. Wagner|Davidem Wagnerem]] v roce 1995) a [[Debian|debian]]/[[Ubuntu|ubuntu]]
edice [[OpenSSL|OpenSSL]] u kterého se nedostatek bezpečnosti projevil v roce 2008. Podobný
nedostatek entropie v klíči vedl k prolomení [[Enigma|enigmy]].
 
== Reference ==