Síla hesla
Síla hesla () označuje stupeň obtížnosti s jakou neautorizovaná osoba dokáže uhádnout heslo.

Hesla se označují jako silná nebo slabá podle toho, jak je těžké nebo jednoduché je uhádnout. Tyto pojmy jsou relativní a závislé na konkrétním způsobu ověřování hesla. Uhádnutí hesla hrubou silou nebo slovníkovým útokem se označuje jako prolomení hesla. Kromě prolomení je možné slabé heslo také uhádnout, obvykle pokud útočník osobu zná a osoba použila jako heslo např. datum narození či jméno blízké osoby.

Často mají lidé stejná hesla k několika účtům, což je pak výhoda pro hackery.

Heslo je také možné získat i nezávisle na jeho síle, především pomocí tzv. sociálního inženýrství, odchytem stisknutých kláves, zachycením během přenosu a jinak.

Vlastnosti hesla 
Odolnost hesla záleží na způsobu útoku, kterému má heslo odolat a proto nelze stanovit všeobecně platné parametry přesně měřící sílu hesla. Jsou dva základní principy používané k prolomení hesla:
 Útok hrubou silou – zkoušení všech možných kombinací znaků.
 Uhádnutí hesla – zkoušení takových hesel, které si uživatel pravděpodobně mohl zvolit.
Odolnost prvnímu způsobu je úměrná délce hesla a počtu použitých znaků a dá se spočítat pomocí matematické kombinatoriky. K uhádnutí hesla může dojít v případě vytvoření hesla často používanými způsoby (franta123) nebo použití zjistitelné osobní informace (oblíbený film). V praxi útočníci často oba způsoby kombinují.

Délka hesla 
Délka hesla má velký vliv na jeho sílu, protože počet možných kombinací exponenciálně stoupá s počtem znaků hesla.

Počet kombinací se spočítá jako počet znaků použité sady (abecedy) umocněný na počet znaků hesla. Matematicky se jedná o variaci s opakováním, počet možností je , kde n je počet znaků sady a k délka hesla.

Počet znaků sady (abecedy) 
Množství znaků, z kterých jsou vybírány znaky hesla, má také významný vliv na sílu hesla. Použití různých znaků, číslic a symbolů umožňuje vytvořit více kombinací než heslo tvořeno jen číslicemi.

Pro zvýšení síly hesla je proto občas požadováno použití malých a velkých písmen, číslic a speciálních znaků. Jak je patrné z tabulek, takové šestimístné heslo umožňuje méně kombinací (~8×10¹¹) než devítimístné heslo složené jen z malých písmen (~5×10¹²).

Uhodnutelnost hesla 
Útočníci mají k uhodnutí hesla k dispozici databáze zcizených a prolomených hesel, ze kterých lze statisticky zjistit nejčastější lidmi používaná hesla a také obvyklé způsoby tvoření hesel. Základním prostředkem k uhodnutí hesla je slovníkový útok, při kterém útočník využívá seznamy existujících slov. Slovníkový útok pak dále kombinuje s dalšími metodami. Např. heslo Franta23 je slabé i když obsahuje malá a velká písmena a číslice, protože obsahuje slovníkové slovo a velké první písmeno a dvě číslice přidané na konec jsou často používány, proto je útočníkům známý a tedy málo účinný způsob zesílení hesla.

Slabá také bývají hesla spojená s osobou uživatele. Např. jméno psa, oblíbeného herce nebo babičky za svobodna jsou informace, které útočník může, někdy nejen nelegálně, získat.

Umělá inteligence se dokáže naučit i systém lidské tvorby hesel a tím zkrátit dobu nutnou k prolomení.

Nejodolnější vůči uhodnutí jsou hesla tvořená náhodně strojově generovanou posloupností znaků, která mají nejvyšší míru entropie. Jejich nevýhodou je, že jsou těžko zapamatovatelná a náchylnější k chybám a překlepům při jejich vyplňování uživatelem.

Vhodné heslo 
Ideální heslo je dlouhý řetězec náhodně generovaných různých druhů znaků (Velká a malá písmena, číslice, znaky). Takové heslo je vhodné, pokud se uchovává a vyplňuje strojově, tedy např. pomocí softwaru pro správu hesel.

Vhodné heslo pro lidského uživatele musí být zapamatovatelné a snadno vyplnitelné, což jsou požadavky v zásadě protichůdné požadavkům na silné heslo. Vhodné uživatelské heslo je tak tvořeno kompromisem mezi oběma těmito požadavky na základě pravidla, že zabezpečení na úkor použitelnosti jde na úkor bezpečnosti. Pro hodnocení síly hesla není rozhodující, zda splňuje jednotlivá doporučení, ale jak vlastnosti celého hesla vyhovují požadavkům na odolnost.

Proto někteří odborníci doporučují jako vhodné heslo několik slovníkových slov psaných malými písmeny. Dvě typicky nevhodné vlastnosti hesla kompenzuje třetí vlastnost, jeho délka. Heslo tvořené čtyřmi náhodnými slovy tak může být zapamatovatelné, snadněji a rychleji vyplnitelné a zároveň silnější než kratší složitější heslo tvořené s využitím nejrůznějších symbolů.

Při založení fyzické peněženky pro uchování kryptoměn je uživateli vygenerováno 12 či 24 slov, které tvoří přístupové heslo k peněžence. Kombinace 12 náhodných slov vybraných ze seznamu 2048 slov vytváří 5 444 517 870 735 015 415 413 993 718 908 291 383 296 možných kombinací pro uhádnutí hesla. Délka hesla tedy hraje podstatnou roli v zabezpečení přístupu.

Základní hlediska 
 délka hesla – prodloužení hesla vždy zvyšuje jeho sílu
 skupina použitých znaků – číslic, velkých písmen, českých znaků, speciálních znaků zvyšuje sílu hesla
 možnost uhodnutí – obvyklá slova a obvyklé způsoby tvorby hesla snižují jeho sílu

Nevhodná hesla 
 krátké heslo
 heslo lze uhodnout
 primitivní heslo (heslo, 12345, 1111, totéž písmeno opakovaně atd.)
 jméno blízké osoby, domácího zvířete
 jiné běžné slovo
 datum

Málo účinné postupy 
Některé obvyklé postupy při tvorbě hesla nezajišťují odolnost, kterou od ní uživatelé zpravidla očekávají.
 krátké heslo s různými znaky (speciální, číslice, kombinace malé a velké abecedy)
 první písmeno velké
 krátké číslo na konci
 triviální náhrady písmen (např. A → 4, S → $, O → 0, I → 1,!→ 1, E→ 3)

Ochrana hesla 
Obecně se doporučuje nikdy si heslo nezapisovat, obzvlášť ne v blízkosti počítače, kde je možné jej použít. Doporučuje se používat jedno heslo pro bezvýznamné účty (u kterých není případné prolomení natolik závažné) a několik různých silných hesel pro důležité systémy (např. internetové bankovnictví).

Problémem se stává potřeba zapamatovat si množství hesel k různým systémům. Řešením může být vytvoření systému (jehož znalost je třeba obzvlášť chránit) vycházejícího z názvu služby, kde se používá. Triviální příklad je vynechání každého druhého písmena, např.: heslo Wkpda pro službu Wikipedia (v praxi je potřebné použít vlastní a složitější systém). Jiným řešením je uchování hesel v silně šifrovaném tvaru přístupných pomocí jednoho zapamatovatelného a silného hesla. Na toto slouží speciální programy, například open source program Keepass, nebo placený program Roboform. Další možností je vytváření silných hesel s pomocí kryptografické hashovací funkce, kde při použití hlavního hesla a klíčového slova (např. název domény, kde chceme heslo použít) vznikne hash fixní délky, který následně můžeme použit jako heslo.

Software pro správu hesel 

Správce hesel je samostatná aplikace nebo rozšíření webového prohlížeče, které umožňuje ukládat větší množství silných a jedinečných hesel. Hesla jsou chráněna jedním hlavním heslem, které otevírá šifrovanou databázi hesel. Většina správců hesel umožňuje vytváření silných hesel pomocí generátoru náhodných hesel. Správce hesel by měl obsahovat ochranu proti odposlechu hesla.

Odkazy

Reference

Související články 
 Generátor náhodných hesel
 Key derivation function

Externí odkazy 
 Článek o programu KeePass

Kryptografie
Počítačová bezpečnost