Hesla se používají již tisíce let jako prostředek identifikace před ostatními a v novější době i před počítači. Je to jednoduchý koncept – sdílená informace, která je uchovávána v tajnosti mezi jednotlivci a slouží k „prokázání“ totožnosti.
Hesla v kontextu IT se objevila v 60. letech 20. století s mainframe počítači – velkými centrálně řízenými počítači se vzdálenými „terminály“ pro přístup uživatelů. Nyní se používají ke všemu, od kódu PIN, který zadáváme v bankomatu, až po přihlašování k počítači a různým webovým stránkám.
Proč ale musíme „prokazovat“ svou totožnost systémům, ke kterým přistupujeme? A proč je tak těžké správně zadat heslo?
Co tvoří dobré heslo?
Do nedávné doby mohlo být dobrým heslem slovo nebo fráze o pouhých šesti až osmi znacích. Nyní však máme pokyny pro minimální délku. Důvodem je „entropie“.
Když mluvíme o heslech, entropie je mírou předvídatelnosti. Matematika, která za tím stojí, není složitá, ale prozkoumejme ji pomocí ještě jednodušší míry: počtu možných hesel, někdy označovaného jako „prostor hesel“.
Pokud jednoznakové heslo obsahuje pouze jedno malé písmeno, existuje pouze 26 možných hesel („a“ až „z“). Zahrnutím velkých písmen zvětšíme prostor hesel na 52 možných hesel.
Prostor hesel se dále rozšiřuje s rostoucí délkou a přidáváním dalších typů znaků.
Při pohledu na výše uvedená čísla je snadné pochopit, proč jsme nabádáni k používání dlouhých hesel s velkými a malými písmeny, číslicemi a symboly. Čím složitější heslo, tím více pokusů je třeba k jeho uhodnutí.
Problémem závislosti na složitosti hesla je však skutečnost, že počítače jsou vysoce efektivní v opakování úloh – včetně hádání hesel.
Loni byl vytvořen rekord, kdy se počítač pokusil vygenerovat všechna myslitelná hesla. Dosáhl rychlosti vyšší než 100 000 000 000 hádání za sekundu.
S využitím tohoto výpočetního výkonu se mohou kybernetičtí zločinci nabourat do systémů tím, že je bombardují co největším počtem kombinací hesel v procesu zvaném útok hrubou silou.
A díky cloudové technologii lze uhodnout osmiznakové heslo za pouhých 12 minut a stojí to pouhých 25 USD.
Jelikož se hesla téměř vždy používají k přístupu k citlivým údajům nebo důležitým systémům, motivuje to kyberzločince k jejich aktivnímu vyhledávání. To je také hnací silou lukrativního online trhu s prodejem hesel, z nichž některá jsou dodávána s e-mailovými adresami a/nebo uživatelskými jmény.
Jak se ukládají hesla na webových stránkách?
Hesla na webových stránkách se obvykle ukládají chráněným způsobem pomocí matematického algoritmu zvaného hashování. Heslo zaheslované je nerozpoznatelné a nelze z něj vytvořit heslo zpět (nevratný proces).
Při pokusu o přihlášení je zadané heslo zaheslováno stejným postupem a porovnáno s verzí uloženou na webu. Tento proces se opakuje při každém přihlášení.
Příklad heslo „Pa$$w0rd“ získá při výpočtu pomocí hashovacího algoritmu SHA1 hodnotu „02726d40f378e716981c4321d60ba3a325ed6a4c“. Vyzkoušejte si to sami.
Pokud máte k dispozici soubor plný zaheslovaných hesel, můžete použít útok hrubou silou a vyzkoušet všechny kombinace znaků pro různé délky hesel. To se stalo tak běžnou praxí, že existují webové stránky, které uvádějí běžná hesla spolu s jejich (vypočtenou) hashovanou hodnotou. Můžete jednoduše vyhledat hash a odhalit odpovídající heslo.
Krádeže a prodej seznamů hesel jsou dnes tak časté, že je k dispozici speciální webová stránka – haveibeenpwned.com – která uživatelům pomáhá zkontrolovat, zda jejich účty nejsou „na svobodě“. Ten se rozrostl na více než 10 miliard údajů o účtech.
Pokud je vaše e-mailová adresa uvedena na této stránce, měli byste si zjištěné heslo rozhodně změnit, stejně jako na všech ostatních stránkách, pro které používáte stejné přihlašovací údaje.
Je řešením větší složitost?
Člověk by si myslel, že při takovém množství narušení hesel, ke kterým denně dochází, bychom měli zlepšit své postupy při výběru hesel. Bohužel loňský výroční průzkum hesel společnosti SplashData ukázal, že se za pět let příliš nezměnilo.
S rostoucími výpočetními možnostmi se zdá, že řešením je větší složitost. Jako lidé však nejsme zdatní (ani motivovaní) k tomu, abychom si pamatovali vysoce složitá hesla.
Překonali jsme také bod, kdy používáme pouze dva nebo tři systémy vyžadující heslo. Nyní je běžné přistupovat k mnoha webům, přičemž každý z nich vyžaduje heslo (často různě dlouhé a složité). Podle nedávného průzkumu připadá na jednoho člověka v průměru 70-80 hesel.
Dobrou zprávou je, že existují nástroje, které tyto problémy řeší. Většina počítačů dnes podporuje ukládání hesel buď v operačním systému, nebo ve webovém prohlížeči, obvykle s možností sdílet uložené informace na více zařízeních.
Příklad iCloud Keychain společnosti Apple a možnost ukládat hesla v prohlížečích Internet Explorer, Chrome a Firefox (i když méně spolehlivě).
Správci hesel, jako je KeePassXC, mohou uživatelům pomoci vytvářet dlouhá a složitá hesla a ukládat je na bezpečném místě pro případ potřeby.
Ačkoli je toto umístění stále třeba chránit (obvykle dlouhým „hlavním heslem“), použití správce hesel vám umožní mít jedinečné, komplexní heslo pro každou navštívenou webovou stránku.
To nezabrání odcizení hesla ze zranitelné webové stránky. Ale pokud dojde k jeho odcizení, nebudete si muset dělat starosti se změnou stejného hesla na všech ostatních webech.
I v těchto řešeních samozřejmě existují zranitelnosti, ale to je možná příběh na jindy.