Síla hesla

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Síla hesla (anglicky password strength) 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.

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[editovat | editovat zdroj]

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:

  1. Útok hrubou silou – zkoušení všech možných kombinací znaků.
  2. 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[editovat | editovat zdroj]

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.

Příklad pro hesla s malými písmeny bez diakritiky
Délka hesla 4 5 6 7 8 9 10 11 12
Počet kombinací 456 976 11 881 376 308 915 776 8 031 810 176 208 827 064 576 5 429 503 678 976 141 167 095 653 376 3 670 344 486 987 780 95 428 956 661 682 200
Kombinace řádově 5 7 8 9 11 12 14 15 16

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 V'(k,n) = n^k, kde n je počet znaků sady a k délka hesla.

Počet znaků sady (abecedy)[editovat | editovat zdroj]

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.

Příklad pro šestimístné heslo
Množství znaků Číslice (10) Malá abeceda (26) Malá abeceda s číslicemi (36) Malá a velká abeceda, číslice (62) Totéž se speciálními znaky (96)
Počet kombinací 1 000 000 308 915 776 2 176 782 336 56 800 235 584 782 757 789 696
Kombinace řádově 6 8 9 10 11

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[editovat | editovat zdroj]

Ú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žívaný, proto ú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.

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[editovat | editovat zdroj]

Ideální heslo je dlouhý řetězec náhodně generovaných různých druhů znaků. Takové heslo je vhodné, pokud se uchovává a vyplňuje strojově, tedy např. pomocí softvéru 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. 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ů.[1][2]

Základní hlediska[editovat | editovat zdroj]

  • 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[editovat | editovat zdroj]

  • 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[editovat | editovat zdroj]

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,!)

Ochrana hesla[editovat | editovat zdroj]

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 poží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éme (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 slovo (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[editovat | editovat zdroj]

Podrobnější informace naleznete v článku Software pro správu hesel.

Správce hesel je 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ů 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.

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Sila hesla na slovenské Wikipedii.

  1. Politika hesel: všechno co víte, je špatně – doporučení Michala Valáška, profesionálního IT experta
  2. Toward Better Master Passwords (anglicky) – doporučení výrobce renomovaného správce hesel

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]