Lekce 5 - Bezpečnost hesla - Tvorba hlavních hesel
V předchozí lekci, Bezpečnost hesla - Správci hesel, jsme se dozvěděli, k čemu jsou nám správci hesel a jakého bychom si měli zvolit.
V dnešním tutoriálu o kybernetické bezpečnosti budeme pokračovat v tématu správy hesel. Tentokrát zaměříme svou pozornost na hlavní hesla. V závěru pak ještě zmíníme nedostatky či limity využití správců hesel.
Tvorba hlavních hesel
Přestože vlastní hesla pro konkrétní účely máme bezpečně vygenerovaná (tj. dlouhá a náhodná) pomocí správce hesel, musíme také stvořit a zapamatovat si! heslo/hesla hlavní. Samozřejmě by bylo nejbezpečnější zapamatovat si také nějaké náhodně vygenerované heslo. Pokud ale nejste profesionál, pracující s vysoce utajovanými informacemi, asi se vám nebude chtít investovat tolik času do jeho spolehlivého (na)učení. Kromě toho, jak uvidíme dále, se nejspíš neobejdeme bez toho, abychom se jich museli naučit stejně několik – i když budeme používat správce hesel.
Osvědčená technika tvorby hesla
Metod, jak relativně bezpečné a přitom rozumně zapamatovatelné heslo vytvořit, existuje samozřejmě více, my si vystačíme s touto starou a osvědčenou:
Vzpomeňte si na nějakou větu - z románu, filmu, oblíbené říkanky nebo vtipu, kterou určitě nezapomenete, protože si ji (alespoň přibližně) pamatujete už teď. K tomu nějaké číslo. Volte ale něco, co nevykládáte každý den a každému a není to o vás běžně známo - hlavně ne věci jako jsou jména, data narození, čísla domů, vaše telefonní číslo nebo číslo vašich blízkých! Nespěchejte, klidně si to pár dnů rozmýšlejte.
Z prvních písmen (druhých, třetích, s háčkem, čárkou, samohlásek, souhlásek – prostě jaký algoritmus vás napadne) pak začněte tvořit heslo, s tím, že ho prokládáte číslicemi, měníte velikost písmen, případně „opepříte“ nějakým speciálním znakem (pokud to chcete nebo pokud to po vás vyžaduje bezpečnostní politika systému, pro který ho tvoříte).
Ukažme si to na příkladu. Řekněme, že si zvolíme následující věty (z „policejních zkoušek“ nejmenovaného pořadu – to určitě nezapomenu ):
„Na pasece se pase bílý, celý bílý kůň. Jakou barvu má bílý kůň?“ a k tomu číslo 4449. I když jenom jednoduše vezmeme první písmenka a zachováme velikost znaků i interpunkci (představivosti při jeho odvození se ale samozřejmě meze nekladou ) a pak proložíme číslem 4449, dostaneme:
4Npspb4,cbk4.Jbmbk9?
Což je docela slušné 20-ti znakové heslo. Možná to vypadá složitě, ale rozhodně si to takto zapamatujeme mnohem lépe, než bez uvedené „nápovědy“. Navíc, pokud si nebudeme jistí, můžeme si ho případně zkusit znovu odvodit.
Pro bezpečné zapamatování je ale vždy nutné, abychom heslo alespoň 3x týdně někde skutečně zadávali!
Schémata a varianty hesel
Jak už jsme se zmínili, ve skutečnosti budeme potřebovat více hlavních hesel – minimálně jedno pro každou úroveň zabezpečení. Pokud totiž pracujeme se systémem zabezpečeným do úrovně C1 (typicky mobilní telefon), nesmíme na něm nikdy zadat heslo, chránící systém s vyšší úrovní zabezpečení! (Oproti tomu vyšší úroveň může obsahovat data či hesla z úrovní nižších.) Uvažujeme-li tedy dvě úrovně zabezpečení (C1 a C2), budeme potřebovat dvě hlavní hesla pro dvě databáze hesel.
V praxi k tomu ale ještě přibude alespoň jedno zkrácené heslo nebo PIN pro přihlašování do systému a/nebo bankovní aplikace. A pokud budeme v počítači používat i kompletně zašifrovaný (systémový) disk (viz další lekce), budeme potřebovat ještě boot-time heslo k souborovému systému. To použijeme, než nám naběhne vlastní systém s přihlášením, abychom se vůbec dostali k zadání hesla pro hlavní databázi hesel.
Nedoporučujeme používat úplně stejné heslo k souborovému systému a současně k hlavní databázi hesel, nicméně pokud se jedná o stejnou úroveň zabezpečení, je přípustné použít hesla odvozená, tj. varianty hesla jednoho pro danou bezpečnostní úroveň.
Lépe to uvidíme zase na ukázce - v tabulce níže uvádíme příklad typické struktury hesel pro dvě bezpečnostní úrovně (C1 třeba pro mobil a C2 pro osobní počítač):
# | Určení hesla | Délka a/nebo příklad hesla |
---|---|---|
1 | Heslo pro systémy C1 (mobilní telefon a databáze hesel C1) | 8-13 znaků |
2.1 | Boot-time varianta hesla C2 pro souborový systém | /Npspb/,cbk/.Jbmbk/? |
2.2 | Hlavní heslo pro správce hesel úrovně C2 | 4Npspb4,cbk4.Jbmbk9? |
3 | Přihlášení do systému (+ biometrické ověření, pokud se jedná o úroveň C2) | 4-8 znaků / PIN |
4 | PIN pro bankovní aplikace (+ biometrické ověření) | 4-6 znaků / PIN |
Nicméně i tak je zřejmé, že nám správci hesel práci s hesly významně ulehčí.
Správa hesel pomocí prohlížeče
Je velice lákavé (přesněji řečeno pohodlné ) nechat správu hesel přímo na prohlížeči. Všechny prohlížeče tuto funkci nabízejí a - samozřejmě - nic nemůže být lépe integrováno s prohlížečem, než prohlížeč sám Uvažme ale i následující:
- Hesla nebudeme potřebovat jenom v prohlížeči, ale také třeba pro dokumenty zabezpečené na úroveň C2 nebo při podepisování elektronické pošty. Také můžeme chtít používat více různých prohlížečů (např. TOR browser pro bezpečné procházení nebo jiný prohlížeč, pokud kromě Windows používáme třeba Linux či macOS). V tom případě se nám takové sdílení hesel naopak značně zkomplikuje.
- Většina prohlížečů má uzavřený (neveřejný, a tudíž obecně nezkontrolovatelný) kód a naše hesla ukládá někam na servery poskytovatele daného software. My mu pak musíme důvěřovat, že k nim nemá přístup. A věřte mi, že v bezpečnostních otázkách je daleko lepší výchozí koncepcí spíše nedůvěřovat – alespoň tam, kde to není naprosto nezbytné! Výhody koncepce open source jsme již probírali v předchozích lekcích.
- Prohlížeč je sám o sobě z bezpečnostního hlediska riziková aplikace a je jednou z nejčastějších cest průniku malware do systému. Už dávno neslouží jen k prostému zobrazení HTML textů. Dnes je to moloch, podobný spíše vlastnímu operačnímu systému, který navíc provádí kód z externě načítaných stránek, do nichž může napsat kdokoli, co chce! Otázkou zde není, zda v něm není chyba, ale jen to, kdy se na ni přijde a jak rychle bude opravena. Navíc má většinou přístup nejen k síti, ale také třeba k zařízením, jako je kamera nebo mikrofon počítače. Je rozhodně bezpečnější svěřit svá hesla malému, přehlednému, specializovanému programu, který je od něho oddělen. To jsme si také již zmínili, když jsme popisovali princip oddělení.
Proto doporučujeme mít všechna hesla bezpečně uložena ve správci hesel s úrovní zabezpečení C2 a jen duplikovat jejich podmnožinu C1 uložením v prohlížeči. Hesla pro úroveň C2 do prohlížeče vůbec neukládejme a raději je vždy přenesme ze správce hesel – i kdybychom to měli dělat jen přes systémovou schránku!
Nedostatky správců hesel
Zejména na desktopech - a těch s Windows zvláště - u správců hesel není dostatečně dotažena integrace do systému, respektive jejich spolupráce s dalšími aplikacemi. Použitelně (i když také ne vždy zcela dokonale) spolupracují s prohlížeči, zpravidla prostřednictvím pluginů, nicméně pokud zabezpečení hesly opravdu aktivně využíváme, citelně tam chybí přímé propojení například s office či emailovým klientem.
Druhou věcí, úzce související s předchozí, je pak bezpečnost takové inter-aplikační komunikace při výměně autorizačních informací. Systémová schránka není zrovna nejbezpečnějším řešením, protože do ní mají přístup i ostatní aplikace a nikoli jen pár password manager – aplikace žádající o konkrétní heslo. Řešení přes socket (pojmenovanou pipe či TCP/IP socket) je samozřejmě z tohoto hlediska lepší, nicméně i zde bychom uvítali šifrovaný přenos informací a nějakou autentizaci komunikujících stran.
Třetí věcí – a také související s předchozíma dvěma – je správa a logování takovýchto žádostí o citlivé informace. Než se odpověď odešle, měl by password manager volitelně zobrazit okno, ve kterém by uvedl, komu a jakou autorizační informaci posílá, což bychom potvrdili (či zamítli) jedním klepnutím a měl by o tom existovat záznam v (databázovém) logu pro případnou pozdější bezpečnostní analýzu. Řečeno zkrátka: Dobrý password manager by měl fungovat také jako autorizační server.
Na závěr bychom si měli uvědomit, že password manager není sám o sobě samo spásným řešením. Pokud máme v systému malware, či přímo v boot-time kompromitovaný vlastní operační systém, pak nás nejspíš neochrání ani ten nejlepší password manager. Ale o tom už si něco povíme až v příštích lekcích.
V další lekci, Nastavujeme operační systém - Uživatelé a přihlašování, se dozvíme, jak správně využívat zabezpečení na základě uživatelských účtů operačního systému.