Síla hesla
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.
Č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.
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 , 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.
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
Ú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.
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.[1] 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ů.[2][3]
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.)[4]
- 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 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é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.
Reference
V tomto článku byl použit překlad textu z článku Sila hesla na slovenské Wikipedii.
- ŠPAČEK, Michal. Zabezpečení na úkor použitelnosti jde na úkor bezpečnosti. Lupa.cz [online]. [cit. 2019-10-14]. Dostupné online. (česky)
- Politika hesel: všechno co víte, je špatně – doporučení Michala Valáška, profesionálního IT experta
- Toward Better Master Passwords (anglicky) – doporučení výrobce renomovaného správce hesel
- Nejpoužívanější hesla dle výzkumu SplashData z roku 2013