Délka klíče
![ikona](http://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Question_book-new.svg/48px-Question_book-new.svg.png)
![ikona](http://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Broom_icon.svg/48px-Broom_icon.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Preferences-system.svg/16px-Preferences-system.svg.png)
Délka klíče označuje v kryptografii délku šifrovacího klíče příslušného šifrovacího algoritmu, která je uváděna v bitech. Délka klíče algoritmu je odlišná od jeho šifrovací bezpečnosti, která je logaritmickou mírou nejrychlejšího známého výpočetního útoku algoritmu, měří se v bitech. Bezpečnost algoritmu nemůže překročit jeho délku klíče (protože každý algoritmus může být prolomen hrubou silou), ale může být menší. Například Triple DES má velikost klíče 168 bitů, ale poskytuje nanejvýš 112 bitů, kvůli vlastnostem vícenásobného šifrování stejným algoritmem. Tato vlastnost Triple DES nemá slabost ve 112 bitech zabezpečení, pro aplikace je to dostačující. Nejvíce symetrických šifer pro běžné použití je navrženo tak, aby bezpečnost odpovídala délce klíče. Žádná asymetrická šifra s touto vlastností známa není, kryptografie eliptických křivek je nejblíže s efektivní bezpečností zhruba poloviny délky klíče.
Význam
Klíče se používají jako bezpečnostní prvek tak, že pouze správný klíč může dešifrovat šifrovaný text do prostého textu. Mnoho šifer je založeno na veřejně známých algoritmech, nebo na otevřených zdrojích a tak je jen obtížné získat klíč, který je správný, za předpokladu, že neexistuje žádný analytický útok (tj. „strukturální slabost“ v algoritmech či používaných protokolech), a také, že klíč není jinak dostupný (například pomocí krádeže, vydírání, či ohrožení počítačových systémů). Široce přijímaná představa, že by bezpečnost systému měla záviset na klíči samotném, byla výslovně formulována Augustem Kerckhoffsem (v roce 1980) a Claude Shannonem (v roce 1940), tyto zákony jsou známé jako Kerckhoffs a Shannon Maxim principy. Klíč by proto měl být dostatečně dlouhý, aby útok hrubou silou nemohl být proveden – tj., že by trvala příliš dlouho jeho realizace. Shannonovy práce na informační teorii ukázaly, že k dosažení tzv. dokonalého utajení, je nezbytné, aby délka klíče byla alespoň tak dlouhá jako je zpráva a klíč se použil pouze jednou (tento algoritmus se nazývá One-time pad). S ohledem na to, a na praktickou potíž takových dlouhých klíčů, moderní kryptografická praxe vyřazuje pojem dokonalé utajení jako požadavek na šifrování, a místo toho se zaměřuje na výpočetní bezpečnost, v jejímž rámci výpočetní požadavky prolomit šifrovaný text musí být pro útočníka nemožné. Preferovaná čísla běžně používaná jako velikosti klíče (v bitech) jsou mocniny dvou, případně násobena malým lichým číslem.
Délky klíče a šifrovací systémy
Šifrovací systémy jsou často rozděleny do rodin. Do většiny rodin patří symetrické šifry(např. AES) a asymetrické šifry(např. RSA), nebo mohou být seskupeny podle centrálních použitých algoritmů (např. kryptografie eliptických křivek).Jako každý z nich je na jiné úrovni kryptografické složitosti, je obvyklé mít různé velikosti klíče pro stejnou úroveň zabezpečení, v závislosti na použitém algoritmu. Například, dostupná bezpečnost s 1024bitovým klíčem pomocí asymetrických RSA je bezpečnostně přibližně stejná jako 80bitový klíč v symetrickém algoritmu (Zdroj:RSA Security). Výše bezpečnosti dosažené v průběhu doby se mění, hlavní příčinou je více výpočetního výkonu a využití silnějších matematicko-analytických metod. Z tohoto důvodu mají kryptologové sklon sledovat ukazatele, ve kterých algoritmus nebo klíč o určité délce vykazuje známky potenciální zranitelnosti, zvyšovat délku klíče nebo použít složitější algoritmy. Například v květnu 2007 [aktualizace], 1039bitové číslo bylo zpracováno speciálním sítem polí čísel použitím 400 počítačů po dobu 11 měsíců. Zapracované číslo bylo na zvláštním formuláři, speciální síto polí nelze použít na klíče RSA. Výpočet je zhruba ekvivalentní k prolomení 700bitového RSA klíče. Nicméně, toto může být varování před tím, že 1024bitové RSA používané v zabezpečeném online obchodu může být zastaralé, protože se může stát, že v blízké budoucnosti bude prolomeno.
Útok hrubou silou
I v případě, kdy je symetrická šifra v současné době neprolomitelná využitím strukturální slabiny ve svém algoritmu, je možné projít všechny klíče, což je známo jako útok hrubou silou. Vzhledem k tomu, že delší symetrické klíče vyžadují exponenciálně více času pro útok hrubou silou, dostatečně dlouhý symetrický klíč dokáže zabránit tomuto útoku. S klíčem o délce n bitů existuje 2n možných klíčů. Toto číslo roste velice rychle se zvyšujícím se n. Z Mooreova zákona vyplývá, že výpočetní výkon se zdvojnásobí zhruba za každých 18 až 24 měsíců, ale i tímto zdvojnásobením jsou v současnosti delší symetrické klíče považovány za bezpečné a mimo dosah. Velký počet operací 2128 vyžaduje projít všechny možné 128bit klíče. V dohledné budoucnosti je to v konvenční digitální výpočetní technice považováno za nemožné. Nicméně se předpokládají alternativní formy výpočetní techniky, které mohou mít vyšší výpočetní výkon než klasické počítače. Je-li vhodné množství kvantových počítačů co jsou schopny běžet na Groverovém algoritmu spolehlivě, je možné snížit 128bitový klíč až na 64bitový, což je zhruba ekvivalent DES. To je jeden z důvodů, proč AES podporuje 256bitovou délku klíče. Pro více informací se podívejte na diskuzi o vztahu mezi délkou klíče a množstvím výpočetních útoků, která se nachází ve spodní části této stránky.
Délka klíče symetrického algoritmu
Exportní politika v USA je dlouhodobě omezena „sílou“ kryptografie, která může být rozesílána ze země. Po mnoho let byl limit 40 bitů. Dnes 40bitová délka klíče nabízí velmi malou ochranu i proti náhodným útočníkům s jedním PC. Omezení nebyly odstraněny (v roce 2007, je stále nelegální export kryptografického software s využitím délky klíče větší než 64 bitů bez povolení od amerického úřadu pro průmysl a bezpečnost), nicméně v letech 1999/2000 se stalo snadnějším získat toto povolení k vývozu do některých zemí. Když byl Data Encryption Standard uvolněn v roce 1977, klíč o délce 56 bitů byl považován za dostačující (i když se v té době objevovaly spekulace, že NSA má úmyslně omezenou velikost klíče z původní hodnoty 112 bitů, v IBM Luciferově šifře [64 bitů], v jedné jejích verzí, byla přijata jako DES) tak, aby limit „síla“ šifrování nebyla k dispozici pro US uživatele. NSA má hlavní výpočetní zdroje a velký rozpočet, někteří si mysleli, že 56 bitů bylo na konci 70. let NSA prolomitelné. Nicméně, na konci 90. let, bylo jasné, že DES by mohl být prolomen na svépomocně postaveném hardware, který by mohl být koupen ve velké společnosti, a to v průběhu krátkého časového horizontu. Kniha Cracking DES (O'Reilly and Associates), popisuje úspěšný pokus prolomení 56bitového DES útokem hrubou silou za účasti kybernetické civilněprávní skupiny s omezenými zdroji. Délka 56 bitů je v současné době považována za nedostatečnou pro symetrické šifrování. Více technicky a finančně schopné organizace jistě mohli odstoupit od tohoto šifrování dlouho předtím, než to bylo popsáno v knize. Distributed.net a jeho dobrovolníci prolomili 64bitový RC5 klíč během několika let, přičemž využili zhruba sedmdesát tisíc (většinou domácích) počítačů. Algoritmus od NSA (Skipjack) je algoritmus používaný v programu Fortezza, který pracuje s 80bitovým klíčem. DES byl nahrazen v mnoha aplikacích Triple DES, který má 112 bezpečnostních bitů ze 168bitového klíče. Advanced Encryption Standard byl zveřejněn v roce 2001 a používá minimální délku klíče 128 bitů. Lze také použít až 256bitové klíče. 128 bitů symetrického algoritmu AES je v současné době pro mnoho uživatelů považováno za dostatečné a to i pro dohlednou budoucnost. Americká vláda vyžaduje pro vysoce citlivá data 192 nebo 256bitový AES klíč. V roce 2003 americký národní institut standardů a technologie, NIST, navrhl, aby 80bitové klíče by měly být postupně omezovány do roku 2015. V roce 2005, 80bitové klíče byly povoleny používat pouze do roku 2010.
Délka klíče asymetrického algoritmu
Účinnost veřejného klíče kryptosystému závisí na imunitě (výpočetní a teoretické) vůči některým matematickým problémům, jako je faktorizace čísla. Tyto problémy jsou časově náročné na řešení, ale většinou rychlejší, než zkoušení všech možných kombinací klíče hrubou silou. Proto musí být klíč asymetrického algoritmu delší pro ekvivalentní odolnost vůči útoku jako klíč symetrického algoritmu. V roce 2002 byla délka klíče 1024 bitů obecně považována za minimum pro algoritmus RSA. V roce 2003 [aktualizace] RSA Security uvádí, že 1024bitový RSA klíč je bezpečnostně ekvivalentní k 80bitovému symetrickému klíči, 2048bitový RSA klíč k 112bitovému symetrickému klíči a 3072bitový RSA klíč k 128bitovému symetrickému klíči. RSA tvrdí, že 1024bitové klíče se pravděpodobně stanou prolomitelné zhruba mezi lety 2006 a 2010 a 2048bitové klíče budou dostatečné až do roku 2030. RSA klíč o délce 3072 bitů by měl být použit pro zajištění bezpečnosti až po roce 2030. Národní úřad pro standardizaci (NIST) dále naznačuje, že 15360bitové RSA klíče jsou bezpečnostně ekvivalentní k 256bitovým symetrickým klíčům. Diffie-Hellman algoritmus má zhruba stejnou bezpečnost klíče jako RSA algoritmus stejné délky. Diffie-Hellman algoritmus je založen na problému výpočtu diskrétního logaritmu, který souvisí s faktorizací celého čísla. Na tomto problému je také založena bezpečnost RSA. Tudíž 3072bitový Diffie-Hellman klíč má přibližně stejnou bezpečnost jako 3072bitový klíč RSA. Jeden z typů asymetrických algoritmů, kryptografie eliptických křivek, nebo ECC (Elliptic Curve Cryptography), se zdá být bezpečnější s kratšími klíči než třeba jiné asymetrické klíčové algoritmy. Národní úřad pro standardizaci uvádí, že ECC klíče by měly být dvakrát delší aby dosáhly stejné bezpečnosti jako symetrické klíčové algoritmy. Například 224-bit ECC klíč je zhruba stejně bezpečný jako 112bitový symetrický klíč. Tyto odhady nepřinášejí žádný významný průlom v řešení základních matematických problémů, na kterých je ECC založen. Šifrované zprávy pomocí ECC, který používá 109bitovou délku klíče byly již prolomeny hrubou silou.
Odolnost klíče vůči kvantovým výpočetním útokům
Dva nejznámější útoky kvantové výpočetní techniky jsou založeny na Shorově a Groverově algoritmu. Z těchto dvou Shorův představuje větší riziko pro aktuální bezpečnostní systémy. Algoritmy postavené na Shorově algoritmu jsou považovány při opětovném použití za účinné na hlavní proud algoritmů s veřejnými klíči jako jsou například RSA, Diffie-Hellman a kryptografie eliptických křivek. Citace profesora Gilles Brassarda, který je expertem kvantové techniky: „Čas potřebný k faktorizaci RSA čísla je stejný jako čas potřebný k použití stejného čísla jako modul pro jedno RSA šifrování. Jinými slovy, netrvá déle prolomit RSA na kvantovém počítači (až na násobnou konstantu), než ho použít na obyčejném počítači.“ Plyne z toho, že tyto algoritmy veřejných klíčů nejsou bezpečné, a to v jakékoli délce klíče, pokud je dostupné dostatečné množství počítačů využívajících Shorův algoritmus. Důsledek tohoto útoku je, že všechny data šifrována pomocí současných norem bezpečnostních systémů, jako jsou SSL používané k ochraně elektronických obchodů a internetového bankovnictví a SSH používané k zabezpečení přístupu k citlivým počítačovým systémům, jsou v ohrožení. Šifrovaná data chráněná pomocí algoritmů s veřejnými klíči mohou být archivována a prolomena později. Při užití hlavního proudu symetrických šifer (jako např. AES nebo Twofish) a odolnosti vůči kolizím hashovacích funkcí (např. SHA) se dá předpokládat vyšší bezpečnost proti známým kvantovým výpočetním útokům. Jsou nejvíce ohroženy Groverovým algoritmem. Bennett, Bernstein, Brassard, a Vazirani v roce 1996 prokázali, že útok hrubou silou na kvantový počítač nemůže být rychlejší než zhruba 2 na n/2 cyklů základního šifrovacího algoritmu, ve srovnání se zhruba 2N v klasickém případě. Čili za přítomnosti velkého množství kvantových počítačů n-bitový klíč může zajistit nejvýše n/2 bity bezpečnosti. Před kvantovým útokem hrubou silou je snadnější se ubránit tím, že zdvojnásobíme délku klíče, který má malou extra výpočetní hodnotu v běžném používání. Z toho vyplývá, že je vyžadován alespoň 160-bit symetrický klíč pro dosažení 80bitové bezpečnosti před kvantovými počítači.
Literatura
- Recommendation for Key Management — Part 1: general, NIST Special Publication 800-57. March, 2007
- Blaze, Matt; Diffie, Whitfield; Rivest, Ronald L.; et al. "Minimal Key Lengths for Symmetric Ciphers to Provide Adequate Commercial Security". January, 1996
- Arjen K. Lenstra, Eric R. Verheul: Selecting Cryptographic Key Sizes. J. Cryptology 14(4): 255–293 (2001) — Citeseer link
Reference
Externí odkazy
- Keylength - Cryptographic Key Length Recommendation (anglicky)
- A discussion on the importance of key length Archivováno 22. 12. 2004 na Wayback Machine. (PDF file), available also in PostScript and other formats (anglicky)
- A discussion on how much time we have available before we must take steps to protect against quantum computing attacks (anglicky)
- The FreeS/WAN project's discussion of key length (anglicky)
- Burt Kaliski: TWIRL and RSA key sizes (May 2003) (anglicky)