Síla hesla

Prevence uhodnutí hesla

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

Správce hesel (na obrázku KeePass) generuje náhodná silná hesla. Uživatel si musí pamatovat jen hlavní heslo (master password) chránící přístup ke všem ostatním heslům.

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. Útočník se může též pokusit o prolomení hesla pomocí informací, které získal prolomením jiného hesla anebo z jiných uveřejněných informací (většinou na ilegálních webech). Lidé mají často stejná hesla, a proto hacker získává množství informací při získání i třeba pouze jednoho z uživatelových hesel.

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

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

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

Počet znaků sady (abecedy) editovat

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

Ú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í.[1]

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

Ideální heslo je dlouhý řetězec náhodně generovaných různých druhů znaků (Velká a malá písmena, číslice, znaky). Takové hesla jsou často ukládána do softwaru pro správu hesel. Média často útočí na tento typ software, neboť je zdánlivé, že prolomením jediného hesla se útočník dostane i k ostatním. Avšak odborníků na tuto problematiku se shodují, že tento typ softwaru, obzvlášť tedy jeho rozšířenější varianty jako NordPass, 1Password či RoboForm jsou dostatečně zabezpečeny pro většinu běžných uživatelů. Šifrování hesel těmito softwary užívá celou řadu kryptologických technik, jejichž užití by bylo pro obyčejného uživatele zbytečné.[2]

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.[3] 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.

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ů. Dobré je též vyplňovat prostor mezi slovy separačními znaky (např.: . , ; -) či měnit velikost nebo jinak nahrazovat písmena v jednotlivých slovech, což též prodlouží potřebný čas pro uhodnutí hesla pomocí kombinatorických odhadů.[4][5][6]

Využívání hesel v kryptoměnách editovat

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.[7]

Základní hlediska editovat

  • 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

  • krátké heslo
  • heslo lze uhodnout (ačkoliv je dlouhé, skládá se z několika primitivnějších bloků, které hackeři mohou jednoduše systematicky procházet)
    • primitivní heslo (heslo, 12345, 1111, totéž písmeno opakovaně atd.)[8]
    • jméno blízké osoby, domácího zvířete
    • jiné běžné slovo
    • datum

Málo účinné postupy editovat

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 editovat

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 editovat

Podrobnější informace naleznete v článku 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 editovat

Reference editovat

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

  1. https://nedd.tiscali.cz/umela-inteligence-prolomi-vase-heslo-driv-nez-doctete-tento-clanek-555887 - Umělá inteligence prolomí vaše heslo dřív, než dočtete tento článek
  2. VALIAUGAITĖ, Inga. Are password managers secure? [online]. Cybernews [cit. 2024-02-13]. Dostupné online. 
  3. ŠPAČEK, Michal. Zabezpečení na úkor použitelnosti jde na úkor bezpečnosti. Lupa.cz [online]. [cit. 2019-10-14]. Dostupné online. 
  4. Politika hesel: všechno co víte, je špatně – doporučení Michala Valáška, profesionálního IT experta
  5. Toward Better Master Passwords (anglicky) – doporučení výrobce renomovaného správce hesel
  6. Dvacetiletým úsilím jsme všechny naučili používat hesla, která jsou těžce zapamatovatelná pro lidi a snadno uhodnutelná pro počítače. – komiks xkcd (anglicky)
  7. BLOG, Incognia. What is a 12 word seed phrase?. www.incognia.com [online]. [cit. 2022-10-27]. Dostupné online. (anglicky) 
  8. Nejpoužívanější hesla dle výzkumu SplashData z roku 2013

Související články editovat

Externí odkazy editovat