Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 4 - Bezpečnost hesla - Správci hesel

V tomto tutoriálu věnovanému kybernetické bezpečnosti načneme téma správy hesel, představíme si správce hesel (password managers), vysvětlíme si, jaký je jejich bezpečnostní přínos a definujeme si kritéria pro výběr správného "manažera".

Správci hesel

Z předchozích lekcí už víme, že správně zvolená hesla jsou v kybernetické bezpečnosti naprostým základem všeho ostatního, popsali jsme si také, jak by asi měla vypadat. Pojďme si to ještě rychle shrnout. Ideální heslo by mělo být:

  • Alespoň 20 znaků dlouhé, aby nešlo prolomit BFA (odzkoušením všech jeho možných hodnot).
  • Zcela náhodné, aby nešlo odhadnout na základě osobnostního profilu toho, kdo ho vytvářel.
  • Pro každý účel (účet, dokument a pod.) jiné, aby v případě jeho kompromitace nedošlo k ohrožení dalších účtů (princip oddělení).

Proti tomu však stojí požadavek, abychom si všechna taková hesla byli schopni spolehlivě zapamatovat. Pokud je zapomeneme, přišli jsme o data úplně stejně, jako kdyby nám je útočník smazal. Vlastně jsme je tak dostatečně nezajistili před ztrátou jejich dostupnosti, což je ale také jeden z hlavních úkolů kybernetické bezpečnosti!

A v praxi bohužel řešíme mnohem častěji případ, kdy přijdeme o přístup ke svým datům, než to, že by se k nim dostal někdo neoprávněný!

K čemu nám jsou správci hesel?

První, co nás asi napadne, je, že bychom si mohli taková bezpečná hesla někam zapsat. Ovšem pokud by to bylo v otevřené podobě (ať již na papír nebo do souboru), představoval by takový seznam (který bychom navíc potřebovali mít neustále po ruce) podobný problém, tedy značné bezpečnostní riziko, jako při ukládání hesel v otevřené podobě v operačním systému. Lepší nápad už představuje soubor (resp. databáze) s hesly, bezpečně zašifrovaná pomocí jednoho hlavního hesla (master password). Sice bychom si v zásadě mohli vytvořit jeden šifrovaný dokument a do toho si hesla zapisovat, ale ještě lepším řešením je využít k tomu specializované aplikace, které se nazývají správci hesel (password managers). Ty nám kromě bezpečného ukládání nabídnou i další užitečné funkce, jako je například generování náhodných hesel podle našich požadavků, generování TOTP (jedná se o jednorázová hesla založená na čase, používaná pro 2FA – dvou faktorovou autentizaci) nebo propojení s dalšími aplikacemi (zejména prohlížeči).

Na Internetu jich najdeme poměrně dost, výběr se nám ale podstatně zúží, pokud budeme trvat na následujících podmínkách:

  • Open source, prověřený časem i uživateli - Rozhodně bych nesvěřil všechna svá hesla software, u kterého není veřejně ověřitelné, co přesně s nimi dělá. A platí to dvojnásob v případě, že je neukládá tam, kde řeknu, ale někam do cizího cloudu (typicky servery poskytovatele takového software).
  • Dostupnost na všech běžných platformách - Většina uživatelů potřebuje podporu minimálně pro Windows a Android, nicméně mezi běžné platformy počítám i Linux, macOS a iOS.

Na druhou stranu tolik nevadí, pokud nemají integrovanou synchronizaci mezi zařízeními (platformami) přes internet. Ta totiž představuje spíše potenciální bezpečnostní riziko. Problém navíc můžeme snadno vyřešit ukládáním bezpečně (symetricky) šifrovaným databázovým souborem do cloudu, který už stejně nejspíš používáte (pokud máte mobilní telefon :) ), jako je například Google drive (Disk Google). Soubor s daty není příliš veliký a nemění se tak často, aby se nedal při každé změně přenést celý, navíc takové managery podporují atomické ukládání s uzavřením souboru po každém zápisu, podobně jako třeba transakční databázové servery.

Docela důležitá v praxi je ale jejich použitelnost. Každý z nich podporuje přenos údajů pomocí systémové schránky, ale pokud tyto údaje potřebujeme zadávat často, pak velmi oceníme, když se nám nabídnou přímo v té aplikaci, do níž je potřebujeme vložit (nejčastěji prohlížeč). Minimálně na mobilních zařízeních (resp. pro bezpečnostní úroveň C1) nám velmi usnadní práci autentizace otiskem prstu či skenem tváře. Pro C2 je vyžadováno bezpečné/dlouhé heslo nebo kombinace biometrie a krátkého hesla či PINu.

Kterého správce hesel tedy použijeme?

Výše uvedeným podmínkám v současnosti plně vyhovují jen dva správci hesel:

KeePassXC je napsaný nad Qt v C++ a jako takový běží nativně na Windows, macOS i Linux. Je to lety a mnoha uživateli prověřený open source a freeware, který data ukládá do námi určeného souboru ve formátu kdbx, se kterým umí pracovat i další správci hesel (např. známější a původní KeePass, dostupný pouze pro Windows). Lze ho propojit se všemi běžnými prohlížeči (včetně TOR browseru) pomocí pluginu KeePassXC-Browser.

Na druhou stranu, toto propojení není na desktopech zcela bezproblémové a někdy se stane, že ho musíme i několikrát ručně reloadovat, než se spojení naváže. Někomu také nemusí vyhovovat jeho „starší“ vzhled a způsob ovládání. Jeho filozofii dobře vystihuje následující příspěvek na vývojářském fóru: „Skoro to vypadá, jako by se vývojáři věnovali více jeho bezpečnosti, než vzhledu :).

Pro Android pak lze použít jeho variantu KeePassDX a i pro iOS existuje KeePassium, které se drží stejných bezpečnostních standardů jako původní KeePass(XC).

Zde jsou dva screenshoty KeePassXC (nelze je ve Windows pořídit ani přes nahrávání videa pomocí Game Boxu z videokarty, takže mi nezbylo, než prostě obrazovku vyfotit mobilem – omluvte proto prosím sníženou kvalitu – grafik tedy rozhodně nejsem :) )

Úvodní okno pro přihlášení:

Obrázek 1: KeePassXC – Login - Kybernetická bezpečnost

A samotné prostředí pro správu hesel:

Obrázek 2: KeePassXC – Správa hesel - Kybernetická bezpečnost

BitWarden je napsaný nad Electron v JS/HTML/CSS a tak běží jako interpretovaná aplikace v containeru prohlížeče, díky čemuž je s nimi ale lépe integrován a je dostupný pro všechny platformy. Je to open source, u kterého si můžeme vybrat mezi licencí zdarma a placenou (ne příliš drahou) verzí. Nicméně i bezplatná verze poskytuje pro většinu účelů dostatečné funkce. Hesla ukládá do cloudu provozovatele aplikace. V každém případě je hezčí a přívětivější, než jsou výše uvedené varianty KeePass, což ocení zejména začátečníci. Mít hesla v cloudu vázaném na poskytovatele aplikace se sice rigidním paranoikům asi moc líbit nebude, nicméně i kód synchronizace je veřejný a běžné „dětské nemoci“, které ji prověřily, už má aplikace také za sebou. Pokud neplánujeme pracovat se zabezpečením vyšším než C2, BitWarden nám určitě postačí. V každém případě si ale udržujte i off-line zálohu v něm uložených hesel:

Obrázek 3: BitWarden – Oficiální screenshot - Kybernetická bezpečnost

Za zmínku stojí také relativně nový open source a freeware projekt AuthPass. Zatím nepodporuje napojení na další desktopové aplikace, jako jsou prohlížeče a musí si ještě projít „zkouškou ohněm“ praxe, ale v blízké budoucnosti by mohl spojovat výhody obou předchozích a například pro mobilní telefony s úrovní zabezpečení C1 je použitelný již v aktuální verzi:

Obrázek 4: AuthPass – Přehled hesel - Kybernetická bezpečnost

Je napsaný v Dart nad Flutter, což mu umožňuje přenositelnost mezi platformami při zachování nativního běhu aplikace. Navíc používá osvědčený formát šifrovaného ukládání hesel do databáze kdbx, takže ho není problém používat společně s KeePass(XC) variantami správců hesel. A mimochodem, díky němu jsem se začal o programování v Dart / Flutter sám také trochu zajímat :)

V další lekci, Bezpečnost hesla - Tvorba hlavních hesel, se dozvíme, jak správně vytvářet hlavní hesla a členit je podle stupňů zabezpečení.


 

Předchozí článek
Kvíz - Základy kyberbezpečnosti, kryptografie a hesla
Všechny články v sekci
Kybernetická bezpečnost
Přeskočit článek
(nedoporučujeme)
Bezpečnost hesla - Tvorba hlavních hesel
Článek pro vás napsal David Janko
Avatar
Uživatelské hodnocení:
75 hlasů
Autor se věnuje poradenství převážně v oblasti kybernetické bezpečnosti.
Aktivity