Hledat:

Invia.cz Last minute Tunisko Dovolená v Chorvatsku Pojeďte do Egypta Bulharsko Vydělávejte peníze s INVIA.CZ
 

Secure Hash Algorithm

SHA (Secure Hash Algorithm) je rozšířená hashovací funkce, která vytváří ze vstupních dat výstup (otisk) fixní délky. Otisk je též označován jako miniatura, kontrolní součet (v zásadě nesprávné označení), fingerprint, hash (česky někdy psán i jako haš). Jeho hlavní vlastností je, že malá změna na vstupu vede k velké změně na výstupu, tj. k vytvoření zásadně odlišného otisku.

Obsah

[editovat] Popis

SHA navrhla organizace NSA (Národní bezpečnostní agentura v USA) a vydal NIST (Národní institut pro standardy v USA) jako americký federální standard (FIPS). SHA je rodina pěti algoritmů: SHA-1, SHA-224, SHA-256, SHA-384 a SHA-512. Poslední čtyři varianty se souhrnně uvádějí jako SHA-2. SHA-1 vytvoří obraz zprávy dlouhý 160 bitů. Čísla u ostatních čtyř algoritmů značí délku výstupního otisku v bitech.

SHA se používá u několika různých protokolů a aplikací, včetně TLS a SSL, PGP, SSH, S/MIME a IPsec, ale i pro kontrolu integrity souborů nebo ukládání hesel. Je považována za nástupce hashovací funkce MD5.

[editovat] Bezpečnost

Hashovací algoritmy jsou „bezpečné“, pokud je velmi obtížné (tj. se současnými prostředky prakticky nemožné):

  1. najít zprávu, která odpovídá svému otisku
  2. najít dvě rozdílné zprávy, které mají stejný otisk

Bezpečnost SHA-1 byla poněkud zpochybněna kryptografickými odborníky[1]. Ačkoli nebyly oznámeny žádné útoky na varianty SHA-2. Varianty SHA-2 jsou algoritmicky stejné s algoritmy SHA-1. Proto jsou snahy o vývoj vylepšených hashovacích funkcí[2][3] . Konkurence pro novou SHA-3 funkci byla formálně oznámena 2. listopadu 2007 ve Federal Register[4] – "NIST usiluje o zavedení jednoho nebo více dalších hashovacích algoritmů pomocí veřejné konkurence stejně jako u vývoje pro Advanced Encryption Standard (AES)[5]." První návrhy jsou očekávány do 31. října 2008 a vyhlášení vítěze a publikace nového standardu je naplánováno na rok 2012.

[editovat] SHA-0 a SHA-1

Původní specifikace algoritmu byla publikována v roce 1993 jako Secure Hash Standard (FIPS PUB 180), vedením americké normalizační agentury NIST. Tato verze je dnes známá jako SHA-0. NSA jí stáhla krátce po vydání a nahradila jí upravenou verzí, vydanou v roce 1995 (FIBS PUB 180-1), obvykle uváděnou jako SHA-1. SHA-1 se liší od SHA-0 pouze jednou bitovou rotací, provedenou pomocí jednocestné funkce. Změna byla udělána podle NSA. Oprava vady v původním algoritmu snižuje šifrovací bezpečnost. NSA neposkytla žádné další objasnění nebo vysvětlení, jaká vada byla opravena. Slabé stránky byly následovně ohlášeny v SHA-0 i v SHA-1. SHA-1 se zdá být více obranyschopná proti útokům, to podporuje tvrzení NSA, že změnami stoupá bezpečnost.

SHA-1 (stejně jako SHA-0) vytváří 160 bitový obraz zprávy s maximální délkou 264 - 1 bitů. Je založený na principech, které používal Ronald L. Rivest z Massachusetts Institute of Technology (MIT) v návrhu MD4 a MD5 algoritmů.

[editovat] Dešifrování

Ideální hashovací funkce, porušující první výše uvedené kritérium, nalezení zprávy, která koresponduje se svým otiskem, může být použita jako hrubá síla při hledání 2L výpočtů, kde L je velikost bitů v otisku zprávy. Toto se nazývá vzorový útok (preimage attack). Druhé kritérium, nalezení dvou rozdílných zpráv, které mají stejný otisk, nazýváme kolize, vyžaduje jen 2L/2 výpočtů k provedení tzv. narozeninového útoku (birthday attack). Pro pozdější důvody síly hashovací funkce je obvyklé srovnání se symetrickou šifrou o poloviční délce otisku zprávy. Z tohoto důvodu se SHA-1 považuje za hashovací algoritmus se sílou 80 bitů.

Odborníci na dešifrování vytvořili kolizní pár pro SHA-0 a našli algoritmus, který může vytvořit SHA-1 kolizi v daleko méně než ve zmiňovaných 280 výpočtech.

V podmínkách praktického zabezpečení a v zájmu kolem nového útoku, který může vést k účinnějšímu zabezpečení. Se zdá, že tento případ rozpoutal častou migraci k silnějším hashům. Některé z aplikací, které používají šifrovací hashe, jako heslo paměti, jsou jen minimálně ovlivněny kolizním útokem. Postavení hesla, které použijeme pro účet vyžaduje vzorový útok a přístup k hashi z originálního hesla, které může a nemusí být triviální. Obrácené šifrovací heslo není možné vytvořit při útoku.

V případě podpisu dokumentu, nemůže útočník jednoduše padělat podpis z již existujícího dokumentu. Útočník by měl vytvořit dva dokumenty, jeden neškodný a druhý škodlivý, a požádat držitele privátního klíče o podpis na neškodném dokumentu. Jsou zde praktické okolnosti, kdy je to možné použít.

[editovat] Reference

  1. http://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html
  2. http://www.schneier.com/blog/archives/2005/11/nist_hash_works_4.html
  3. http://www.heise-security.co.uk/articles/75686/2
  4. http://csrc.nist.gov/groups/ST/hash/documents/FR_Notice_Nov07.pdf
  5. http://www.csrc.nist.gov/pki/HashWorkshop/index.html

[editovat] Související články

Tento článek je zčásti nebo zcela založen na překladu článku SHA-1 na anglické Wikipedii.

 
Secure Hash Algorithm v jiných jazycích: Dansk, Deutsch, English, Español, Suomi, Français, עברית, Hrvatski, Italiano, 日本語, 한국어, Lietuvių, Nederlands, Polski, Português, Русский, Slovenčina, Српски / Srpski, Tiếng Việt, 中文
Tento článek je převzat z české wikipedie - otevřené encyklopedie, originální článek naleznete na adrese: „http://cs.wikipedia.org/wiki/Secure_Hash_Algorithm
Stránka byla naposledy upravena v Stránka byla naposledy editována 12. 6. 2008 v 19:41.
Veškerý text je dostupný za podmínek GNU Free Documentation License (Autorské právo pro podrobnosti).
Další služby: Portál | Katalog | Hledej | Zprávy | Počasí | Kurzy | Práce | Slovník | TV | Online hry | Java hry | SMS | Loga a melodie | Chat | Fórum | Kontakt