Asi největším problémem a kamenem úrazu u většiny běžných uživatelů je, že neví, jak má takové správné (čtěte "silné") heslo vypadat. Na základě svých zkušeností jsem tedy sestavil pět nejdůležitějších bodů, které bychom měli brát jako varování.
Heslo se používalo v armádě pro rozlišení mezi vlastními a nepřátelskými bojovníky. Bylo to obvykle nějaké předem domluvené slovo. I dnes se používá ve strážní službě pro rozlišení osob ve tmě. Zdroj: Wikipedia.
Takhle tedy ne
Délka hesla
Obecně lze říci, že čím delší heslo máte, tím je jeho prolomení pro potencionálního útočníka složitější. Minimální délka hesla by měla být alespoň osm znaků. Výjimku tvoří například bankovní a telefonní karty, kde bývá maximální délka hesla (PIN kódu) omezena na čtyři znaky.
PIN (osobní identifikační číslo) je další možnost autentizace uživatele. Jedná se o posloupnost číslic. Obvykle si jej uživatel nemůže vybrat volně, ale PIN je mu přidělen. Používá se například při výběru peněz z bankomatu. PIN je obvykle čtyřciferný. Zdroj: Wikipedia.
Kombinace znaků
To, co dělá heslo opravdu bezpečným, je kombinace čísel, speciálních znaků a velkých a malých písmen. V ideálním případě pak vaše nové heslo obsahuje z každé skupiny alespoň dva různé znaky. Vyhněte se extrémně "exotickým" znakům, které byste měli problém zadat na klávesnici s jiným rozložením, než je české (slovenské).
Slovníkové výrazy
Lámání hesel hrubou silou (Brute Force) je poměrně časově náročná záležitost. Z tohoto důvodu mají crackeři obvykle nachystanou databázi nejpoužívanějších slov, kterými se vaše heslo pokusí prolomit. V minulosti se proti takovému typu útoku (nazývaném Dictionary attack) bránilo pomocí takzvaného l33t žargonu. L33t žargon není žádná věda - stačí pouze v daném slově nahradit některá písmenka za jiná - jim graficky podobná (např. lamer -> l4m3r, owned -> 0wn3d). K naší smůle bohužel musím konstatovat, že i tento způsob ochrany dnes není pro crackery žádným větším oříškem, a proto ho nedoporučuji samostatně používat.
Osobní údaje
Do hesla nikdy nevkládejte osobní údaje (jméno, příjmení, jména svých blízkých, přezdívky,...) a ani žádná čísla (rodná, registrační, telefonní, pasová, č. občanského průkazu, atd.), která mají něco společného s vaší osobou nebo někým blízkým.
Přihlašovací jméno
Dbejte na to, aby přihlašovací heslo neobsahovalo stejný text jako přihlašovací jméno. Je také nesmysl používat jako heslo slovo "heslo", "qwertz", "heslo123" nebo dokonce úplně stejné slovo, jako je přihlašovací jméno.
Jak tedy tvořit silné heslo?
Pro tvorbu bezpečného hesla už sice známe pět nejdůležitějších bodů, ovšem nyní nastává otázka, kde a jak takové heslo vytvořit? Nejčastějším způsobem bývá návštěva webových stránek, na kterých se nachází skript pro generování hesla podle přesně zadaných parametrů. Mohlo by se zdát, že jde o ideální řešení, bohužel opak je pravdou.
Musíme si totiž uvědomit, že majitel takovýchto stránek může ukládat seznam vámi vygenerovaných hesel společně s vaší IP adresou. Podle různých "stop" (jako jsou například registrace na veřejných fórech) pravděpodobně pro takového člověka nebude problém zjistit váš Jabber účet, e-mailovou adresu či domovské stránky. Jakmile bude mít tyto informace k dispozici, může heslo postupně na jednotlivých službách zkoušet. Nezanedbatelný je i fakt, že celou komunikaci mezi vámi a serverem může někdo odposlechnout. Tento problém nastává nejvíce při použití nezabezpečeného wifi připojení.
Dalším způsobem jak získat heslo, je použití speciálního programu či skriptu v systému. Pro operační systém Linux existuje nespočet drobných utilitek pro generování náhodných hesel. Mezi pětku nejznámějších rozhodně patří:
pwgen - Automatic Password generation
apg - Automated Password Generator - Standalone version
gpw - Trigraph Password Generator
makepasswd - Generate and encrypt passwords
otp - Generator for One Time Passwords
V situacích, kdy jste na cizím počítači, který navíc nemá nainstalovaný žádný generátor hesel, lze použít fintu se speciálním linuxovým souborem /dev/urandom. Ten generuje zcela náhodná data, o čemž se můžeme přesvědčit příkazem cat /dev/urandom
(výpis zastavíte současným stiskem kláves [Ctrl] a [C]). Tento výpis bohužel obsahuje spoustu speciálních netisknutelných znaků a navíc nám "ujíždí". Proto je lepší použít následující příkaz:
cat /dev/urandom | strings | head -n 10
Program strings nám totiž elegantně odfiltruje všechny netisknutelné znaky a příkaz head zobrazí pouze n kombinací a zbytek výpisu potlačí. Výsledek bude vypadat přibližně takto:
Filtrovaný výpis /dev/urandom
Ach, ta paměť...
Společným problémem všech generátorů je, že vytvářejí hesla bezpečná, ale velice špatně zapamatovatelná. Víte-li o sobě, že máte horší paměť na hesla, negenerujte je programem, ale použijte nějakou mnemotechnickou pomůcku. Ideální jsou například počáteční a koncová písmena z básniček, říkanek, písniček, oblíbených výroků nebo třeba reklamních sloganů. Uvedu zde několik příkladů:
Říkanka
Jedna dvě tři čtyři pět, cos to Janku cos to sněd
Použijeme pouze počáteční písmena. Výsledné heslo bude:
12345ctJcts
Toto heslo ovšem není zcela bezpečné, neboť neobsahuje žádný speciální znak.
Přísloví
Dvakrát měř, jednou řež!
D Dvakrát m měř , čárka j jednou 5 řež (na klávesnici je písmeno Ř s číslem 5) ! Dobré přísloví můžeme zakončit vykřičníkem
Výsledné heslo tedy bude:
Dm,j5!
Toto heslo ovšem také není zcela bezpečné, neboť je příliš krátké.
Filmová hláška
Kurvadrát, zabili Kennyho?
Použijeme první a poslední písmeno ze slova plus všechny speciální znaky. Výsledné heslo bude:
Kadt,ziKo?
Ani toto heslo není bezpečné, neboť neobsahuje žádné číslo.
Kontrola hesla
Některé systémy automaticky kontrolují (a ukazují) sílu hesla. V Linuxu se tak celkem běžně děje například pomocí PAM modulu pam_cracklib. V ostatních případech si můžete alespoň orientačně sílu hesla změřit na mých stránkách - konkrétně na adrese: http://hodza.net/password-meter/.
Zacházení s hesly
I ta nejlepší hesla jsou bohužel na nic, pokud s nimi nevhodně zacházíme. Dovolím si tedy uvést alespoň základní požadavky, kterých bychom se měli držet.
Ukládání
Hesla jsou zcela k ničemu, pokud je napíšete do kalendáře, strčíte do šuplíku nebo nalepíte na monitor. V případě, že máte problém si je zapamatovat, použijte specializovaný program, který hesla bezpečně (šifrovaně) ukládá. Mezi nejznámější programy pro Linux určitě patří: KWallet (Kde), PwManager (Kde), Revelation (Gnome), KeySAfe (Gnome), Gpass (Gnome), KeePassX (Linux,Mac,Windows).
Půjčování
Není vhodné svá hesla někomu prozrazovat. Toto pravidlo platí především v práci (často bývá porušováno, pokud více lidí pracuje na jednom projektu ve skupině), ale i doma například před dětmi (děti se obvykle dříve nebo později před kamarády prořeknou). Pro nouzové případy, kdy potřebujete dát někomu přístup, existují takzvaná OTP (One Time Password) hesla pro jedno použití.
Obměňování
Nečekejte na chvíli, kdy vám heslo někdo "odkouká". Hesla měňte pokud možno v co nejkratších časových intervalech. Vyžaduje-li po vás správce sítě častou změnu hesla, vygenerujte si vždy heslo nové - nepoužívejte znovu hesla, která byla platná někdy dříve.
Přenos a zadávání
V případě, že používáte program pro ukládání hesel, nezapomeňte po ukončení práce vyčistit obsah schránky. Hesla nikdy neposílejte e-mailem a na webové stránky se pokud možno hlaste přes protokol zabezpečený pomocí SSL (adresa stránek bude začínat https:// namísto http://). Jestliže jste někde v internetové kavárně, buďte paranoidní - hesla nezadávejte přímo, ale kopírujte je například po jednotlivých znacích pomocí schránky z nějakého dokumentu - zmatete tím (ve většině případů) keylogger, který by mohl být v počítači nainstalovaný.
Různé služby
Pro každou adresu/server/službu volte jiné heslo. Je hloupost mít stejné heslo do veřejně přístupného fóra, na Jabber účet či do e-mailu. Při prozrazení hesla by to mohlo mít katastrofální následky. Pokud vám heslo bylo k dané službě vygenerováno automaticky, nespoléhejte se na jeho bezpečnost a raději ho hned změňte za jiné.
Zvolit si silné a snadno zapamatovatelné heslo není vždy zrovna lehký úkol. Přesto bychom mu však měli v dané chvíli věnovat maximální pozornost a opatrnost. Málokdy si totiž člověk uvědomí, jak důležitá data jsou pomocí hesel chráněna. Jejich prozrazení by mohlo mít nejen finanční, ale třeba i psychické následky. Důležité je heslo nejen správně vytvořit, ale také s ním správně zacházet.