Špatná paměť, bezpečná hesla a tak dále

Sebe i svá data chráníme rozličnými hesly, prokazujeme se jimi během každodenní práce. Jak je to s jejich bezpečností?
Špatná paměť, bezpečná hesla a tak dále

Ještě než se v příštím díle podrobně podíváme na konkrétní bezpečnostní mechanismy různých aplikací, je dobré si připomenout hashovaná hesla. Hashovací funkce pro vstup libovolné délky (slovo, věta, text e-mailu nebo právě heslo) vytvoří otisk pevné délky, takže nesejde na tom, jestli původní data mají 1 kB nebo 100 MB, otisk bude v obou případech mít délku například 160 b. Důležitou požadovanou vlastností je takzvaná jednosměrnost, což znamená, že pro každý vstup musí jít odpovídající hash kód snadno spočítat, ale naopak z výsledného otisku nesmí být možné odvodit původní data. Zbývá ještě zmínit bezkoliznost, která zajišťuje, že pro různé vstupy budou vypočítány různé otisky (i drobné změně vstupu by měly odpovídat velké změny výsledného otisku).

Otázkou tedy zůstává, jak uvedené ingredience v podobě vlastností hash funkcí co možná nejlépe skloubit s klasickými hesly. Jednotlivé atributy lze s výhodou využít prostřednictvím následujících aplikací:

  • Jednosměrnost – díky tomu, že heslo není reprezentováno ve své původní textové podobě, ale ve formě výsledného hash kódu, není výpočetně možné získat z hash kódu původní heslo. To platí pro silnou hashovací funkci, s výhodou lze posílat nebo uchovávat heslo v podobě výsledného hash kódu a při autentizaci tento otisk porovnávat s otiskem uživatelova aktuálního vstupu. Na minimum se tak omezí použití nezabezpečené plain-text formy.
  • Bezkoliznost – při případné autentizaci porovnáním výsledných hash kódů dokáže zajistit, že heslo bude akceptováno právě tehdy, když je zadáno správně. Správný hash kód totiž díky bezkoliznosti mohl vzniknout pouze ze správného hesla.
  • Nízká datová náročnost – v případě standardních hesel, která mají například 8znakovou délku, sice není datová velikost natolik důležitá, ale i přesto je příjemné, že je přesně stanovena délka výsledného hash otisku pro další zpracování.

U hashovacích funkcí navíc musí fungovat takzvaný lavinový efekt, kdy malé změně vstupu odpovídá velká změna výstupu, takže i v případě, že by se dvě náhodně vybraná hesla hodně podobala, nebude možné ze znalosti hash kódu jednoho odvodit otisk toho druhého. Tolik teorie, praxe je samozřejmě, jak tomu již bývá, o něco méně veselá. Jak rozdílně vypadá výstup nejznámějších hashovacích funkcí pro vstupy, kde se změnilo byť jen jediné písmeno, ukazuje následující tabulka.

Ukázka výstupu hashovacích algoritmů

AlgoritmusVstupVýstup
MD5cash93585797569d208d914078d513c8c55a
hash0800fc577294c34e0b28ad2839435945
SHA-1casha34c860a9909dd2ed8b22b29b9377b8c6d48fbec
hash2346ad27d7568ba9896f1b7da6b5991251debdf2
RIPEMD-160cash5ef72c1418aa8996fd0d27450e8fcfb72b0797a7
hash73045e2e25b9531d5cb676cf73fff291d4a1ee6d

Ukládání hash kódů do centrálních databází postupně přestalo nabízet dostatečnou bezpečnost, začalo se používat takzvaného solení: výsledný hash kód se nepoužívá pouze z hesla jako takového, ale ještě se na vstupu přidá libovolný řetězec, takzvaná sůl. I kdyby se tak v databázi našla dvě shodná hesla, jejich výsledné otisky nebudou identické, a tedy nebude možné ze znalosti jedné dvojice (heslo, hash kód) odvodit údaje z druhého páru.

Předchozí řádky a kapitola představily základní výhody hesel obecně i některé specifické vlastnosti pro určité varianty. Vyzbrojeni nezbytnou teorií se příště podíváme na konkrétní implementace v nejpopulárnějších případech, řeč tak bude například o možnostech prolomení ochran dokumentů Microsoft Office, rozličných komprimovaných archívů nebo také populárních duhových útocích.

Témata článku: Windows, Bezpečnost, Heslo, MD5, Klasická kombinace, Speciální symbol, Libovolný kód, Origin, Útok, Okolní svět, ElcomSoft, Hashovací funkce, Správná funkce, Upravená varianta, Původní výhoda, Clip, Znak, Původní heslo, Největší symbol, Teorie, Handicap, Mozila, Token, Solení, Snadná implementace


Určitě si přečtěte


Aktuální číslo časopisu Computer

Megatest 20 procesorů

Srovnání 15 True Wireless sluchátek

Vyplatí se tisknout fotografie doma?

Vybíráme nejlepší základní desky